یک آسیبپذیری امنیتی در کتابخانه wolfSSL شناسایی شده است که به دلیل نقص در مدیریت حافظه موقت نشستها (Session Cache)، امکان دستکاری در دادههای نشست کاربر را فراهم میکند. این نقص امنیتی با شناسه CVE-2026-94419 ثبت شده است.
تحلیل فنی نقص امنیتی
در حالت پیشفرض و در صورتی که گزینه NO_SESSION_CACHE_REF فعال نباشد، تابع wolfSSL_get_session() به جای بازگرداندن یک شیء نشست کامل، یک ارجاع از نوع ClientSession (شامل row، index و hash مربوط به sessionID) را از حافظه موقت سراسری فرآیند (process-global SessionCache) برمیگرداند. سپس تابع ClientSessionToSession() صحت این ارجاع را تنها بر اساس همان مقدار Hash تایید میکند.
سناریوی حمله
از آنجایی که در پروتکل TLS 1.2، شناسه نشست (Session ID) توسط سرور انتخاب شده و به صورت متن آشکار (Cleartext) ارسال میشود، یک مهاجم میتواند از این مکانیزم سوءاستفاده کند. تابع AddSessionToCache() هر نشست سرور دیگری را که دارای شناسه یکسان باشد تطبیق داده و ورودی سمت کلاینت را با اطلاعات سرور مهاجم، از جمله Master Secret، مجموعه رمزنگاری (Cipher Suite) و نسخه پروتکل جایگزین (Overwrite) میکند.
توصیههای امنیتی
- بررسی نسخههای مورد استفاده از کتابخانه wolfSSL در زیرساختها.
- بهروزرسانی سریع به آخرین نسخههای اصلاح شده توسط توسعهدهندگان.
- در صورت عدم امکان بهروزرسانی فوری، بررسی پیکربندیهای جایگزین برای مدیریت Session Cache.