یک آسیبپذیری از نوع حلقه بینهایت (Infinite Loop) با شناسه CVE-2026-96596 در کتابخانه استاندارد Erlang OTP (ماژول erl_tar) و برخی بستههای وابسته شناسایی شده است. این نقص امنیتی به مهاجم اجازه میدهد تا با ارسال یک آرشیو tar دستکاری شده، باعث ایجاد وضعیت منع سرویس (DoS) شود.
جزئیات فنی و مکانیسم حمله
این آسیبپذیری در نحوه پردازش اعضای GNU sparse در فایلهای tar رخ میدهد. زمانی که تابع erl_tar:extract/1,2 اقدام به نوشتن یک عضو در دیسک میکند، تابع erl_tar:stream_to_file_loop/3 دادهها را بهصورت پیشفرض در قطعات (Chunks) ۶۵۵۳۶ بایتی میخواند.
در صورتی که یک عضو sparse در GNU بهگونهای طراحی شده باشد که نقشه sparse آن پیش از رسیدن به اندازه واقعی فایل به پایان برسد، تابع erl_tar:do_sparse_read/3 وارد یک عبارت trailing-hole میشود که منجر به ایجاد یک حلقه بدون شرط خروج میگردد. این وضعیت باعث مصرف کامل منابع پردازشی و در نهایت توقف پاسخدهی سیستم (Denial of Service) میشود.
اجزای متأثر
- Erlang OTP stdlib (ماژول erl_tar)
- hexpm hex_core (ماژول hex_erl_tar)
- hexpm hex (ماژول mix_hex_erl_tar)
- erlang rebar3 (ماژول r3_hex_erl_tar)