یک نقص امنیتی جدید با شناسه CVE-2026-89420 در سیستم ZenHive mpp شناسایی شده است که به دلیل اعتبارسنجی نادرست مقدار ورودی (Improper Validation of Specified Quantity in Input) رخ میدهد.
جزئیات فنی آسیبپذیری
این باگ در تابع MPP.Session.Actions.accept_voucher/3 واقع در مسیر lib/mpp/session/actions.ex قرار دارد. در حالت عادی، این تابع باید تراکنشهای مربوط به ووچرها را مدیریت کند، اما در شرایطی که مقدار تجمعی ووچر (cumulativeAmount) با مقدار تجمعی پذیرفته شده در کانال پرداخت برابر باشد، سیستم این عملیات را به عنوان یک موفقیت Idempotent تلقی میکند.
تاثیرات امنیتی
در نتیجه این نقص، سیستم بدون فراخوانی تابع maybe_spend/2، کانال پرداخت را بدون تغییر بازمیگرداند. این موضوع منجر به پیامدهای زیر میشود:
- عدم کسر هزینه: کاربر میتواند منابع پولی را دریافت کند بدون اینکه هزینهای از حساب او کسر شود.
- تایید اعتبار نادرست: گواهینامه (Credential) کاربر تایید شده و منبع مورد نظر ارائه میگردد، در حالی که متغیرهای
spentوunitsبدون تغییر باقی میمانند.
این آسیبپذیری به کلاینتهایی که یک کانال پرداخت باز (Open Payment Channel) دارند اجازه میدهد تا از مکانیزم پرداخت سیستم دور زده و به صورت رایگان از سرویسها استفاده کنند.