یک آسیبپذیری امنیتی در پیادهسازی SSH در Erlang/OTP شناسایی شده است که به مهاجمان احراز هویت شده (Authenticated) اجازه میدهد تا از طریق مصرف بیش از حد حافظه سیستم، منجر به ایجاد وضعیت Denial of Service (DoS) شوند.
تحلیل فنی آسیبپذیری
این نقص امنیتی که با شناسه CVE-2026-68956 ثبت شده است، مربوط به عدم اعمال محدودیت یا Throttling در تخصیص منابع است. در این سناریو، مهاجم میتواند با باز کردن مکرر کانالهای نشست (Session Channels) که هرگز به یک Handler اختصاص نمییابند، حافظه Node را به طور کامل اشغال کند.
جزئیات مکانیسم حمله
- در تابع
ssh_connection:handle_msg/4، در بخش مربوط بهsession، سیستم تنها مقدارminimal_remote_max_packet_sizeرا بررسی میکند. - پس از این بررسی، تابع
setup_session/5بدون هیچگونه شرط اضافی، یک رکورد#channel{}ایجاد کرده و آن را در ETS channel cache ذخیره میکند. - نکته بحرانی این است که گزینه
max_channels(که برای محدود کردن تعداد کانالها در Daemon تعریف شده) در این مرحله نادیده گرفته میشود و تنها در مراحل بعدی توسطssh_channبررسی میگردد.
این نقص باعث میشود مهاجم بتواند با ارسال درخواستهای متوالی، حافظه سیستم را بدون رسیدن به سقف مجاز کانالها، تخلیه کرده و در نهایت باعث Crash کردن سرویس شود.