یک آسیبپذیری امنیتی با شناسه CVE-2026-92842 در کتابخانه Libxml2 شناسایی شده است که مربوط به مدیریت حافظه در فیلترهای استریم (Stream Filters) است.
جزئیات فنی آسیبپذیری
این مشکل در فیلترهای convert.base64-encode، convert.quoted-printable-encode و convert.quoted-printable-decode رخ میدهد. این فیلترها گزینهای به نام line-break-chars را میپذیرند که طول آن بهطور جداگانه از خود رشته ردیابی میشود.
در هنگام ساخت این فیلترها، مقدار مربوطه با استفاده از تابع pestrdup() کپی میشود. نکته کلیدی این است که تابع pestrdup() در اولین بایت NUL (Null byte) متوقف میشود، اما طول اصلی رشته همچنان ذخیره میگردد. این تضاد باعث ایجاد یک نقص امنیتی میشود.
تاثیر و ریسک
زمانی که فیلتر سعی میکند یک شکست خط (Line break) را اعمال کند، مقدار طول ذخیرهشده را از حافظهای که پیشتر کوتاه شده است (Truncated allocation) کپی میکند. این عمل منجر به Out-of-bounds Read شده و باعث میشود بایتهای مجاور در Heap خوانده شده و در خروجی قرار گیرند.
- نوع آسیبپذیری: Heap-based Buffer Overflow / Information Disclosure
- شدت: متوسط (Medium)
- تاثیر: نشت اطلاعات از حافظه Heap