در نسخههای 2.014 تا 3.022 ابزار WebDyne برای زبان Perl، یک نقص امنیتی در نحوه مدیریت کوکیهای نشست (Session Cookies) شناسایی شده است. این ابزار کوکیهای نشست را بدون ویژگیهای امنیتی حیاتی شامل Secure، HttpOnly و SameSite صادر میکند.
جزئیات فنی نقص امنیتی
ماژول WebDyne::Session کوکیهای نشست را تنها با تعیین نام (Name)، مقدار (Value) و مسیر (Path) تنظیم میکند. عدم وجود ویژگیهای امنیتی منجر به پیامدهای زیر میشود:
- عدم وجود Secure: باعث میشود مرورگرها شناسه نشست (Session ID) را روی پروتکل HTTP معمولی (Plain HTTP) ارسال کنند که آن را در برابر حملات شنود شبکه (Network Sniffing) آسیبپذیر میکند.
- عدم وجود HttpOnly: باعث میشود اسکریپتهای موجود در صفحه (مانند حملات XSS) به کوکیهای نشست دسترسی داشته باشند و بتوانند آنها را سرقت کنند.
- عدم وجود SameSite: این موضوع اجازه میدهد درخواستهای بینسایتی (Cross-site requests) حاوی کوکیهای نشست ارسال شوند که ریسک حملات جعل درخواست بینسایتی (CSRF) را افزایش میدهد.
تاثیرات امنیتی
یک مهاجم در شبکه یا از طریق تزریق اسکریپت (Injected script)، میتواند شناسه نشست کاربر را سرقت کرده و با استفاده از آن، دسترسی غیرمجاز به حساب کاربری قربانی پیدا کند (Session Hijacking). همچنین سایتهای ثالث میتوانند درخواستهایی را ارسال کنند که این کوکیها را به همراه داشته باشند.