آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۳/۱۰

آسیب‌پذیری تخصیص حافظه در ماژول Web::Simple (زبان Perl)

آسیب‌پذیری تخصیص حافظه در ماژول Web::Simple (زبان Perl)

نسخه‌های پیش از 0.035 ماژول Web::Simple در زبان برنامه‌نویسی Perl دارای یک آسیب‌پذیری امنیتی در مدیریت حافظه هستند. این نقص در نحوه پردازش پارامترهای بدنه (body parameters) از نوع application/x-www-form-urlencoded رخ می‌دهد.

در تابع Web::Dispatch::ParamParser::get_unpacked_body_from، بدنه درخواست با استفاده از یک فراخوانی read واحد و بدون محدودیت اندازه (cap) خوانده می‌شود. از آنجایی که تابع read در زبان Perl، بافر را پیش از خواندن داده‌ها، بر اساس مقدار درخواستی بزرگ می‌کند، مقدار هدر Content-Length تعیین‌کننده حجم تخصیص حافظه خواهد بود.

یک مهاجم می‌تواند با ارسال یک درخواست حاوی مقدار بسیار بزرگ در هدر Content-Length، باعث تخصیص بیش از حد حافظه (Memory Allocation) شده و منجر به از کار افتادن سرویس یا بروز اختلال در سیستم شود.