یک نقص امنیتی بحرانی با نام ‘HTTP2Shell’ در کتابخانه رمزگشایی Brotli که در محیط Node.js تعبیه شده است، کشف شده است. این آسیبپذیری میتواند به مهاجمان اجازه دهد تا حافظه را تخریب کرده و به دادههای حساس دسترسی پیدا کنند.
جزئیات فنی و شناسایی
این مشکل امنیتی با شناسه CVE-2026-111497 ردیابی میشود و با نامهای دیگر مانند “Broccoli2Shell” و “Node2Shell” نیز شناخته میشود. این نقص بر نسخههای ۱.۰.۳ تا ۱.۰.۹، ۱.۱.۰ و ۱.۲.۰ کتابخانه Brotli تأثیر میگذارد.
ماهیت این آسیبپذیری از نوع Buffer Overflow است. یک جریان داده فشردهشدهی مخرب میتواند باعث ایجاد یک سوئیچ بلوک نامعتبر شود که رمزگشا (Decoder) آن را به عنوان یک درخواست برای ورودی بیشتر تفسیر میکند. این امر منجر به نوشتن دادهها فراتر از محدوده بافر هشتبایتی داخلی و در نتیجه تخریب حافظه میشود.
محیطهای تحت تأثیر
این آسیبپذیری فراتر از Node.js گسترش یافته و میتواند نرمافزارهای زیر را تحت تأثیر قرار دهد:
- Node.js: به دلیل استفاده از کتابخانه داخلی Brotli.
- Python: کتابخانههایی مانند
urllib3[brotli]،requests،httpxوaiohttp[speedups]در صورت پیکربندی با رمزگشای آسیبپذیر. - .NET: مایکروسافت وصلههای اضطراری برای جلوگیری از افزایش سطح دسترسی (Privilege Escalation) در سیستمهای دارای نسخه آسیبپذیر .NET منتشر کرده است.
پیامدهای امنیتی و راهکارها
گزارشهای منتشر شده توسط شرکت امنیتی Imperva تأیید میکنند که بهرهبرداری از این آسیبپذیری میتواند منجر به Remote Code Execution (RCE) شود. اگرچه در حال حاضر گزارشی از سوءاستفاده فعال در محیطهای واقعی منتشر نشده، اما وجود Proof-of-Concept (PoC) خطر را به شدت افزایش میدهد.
اقدامات پیشنهادی برای مدیران سیستم:
- بهروزرسانی فوری: اعمال آخرین وصلههای امنیتی برای Node.js، پایتون و .NET.
- بازسازی زیرساخت: پس از بهروزرسانی، باید فرآیندهای تحت تأثیر را مجدداً راهاندازی (Restart) و ایمیجهای کانتینر (Container Images) را بازسازی و مستقر کرد.
- راهکار جایگزین: در صورت عدم امکان بهروزرسانی فوری، پیشنهاد میشود پشتیبانی از Brotli را در اپلیکیشنهای پایتون غیرفعال کرده و درخواستهای فشردهشده با Brotli را در سطح پروکسی یا فایروال مسدود کنید.
بهروزرسانی (اکتبر 26, 2026 — fortiguard.fortinet.com)
بهروزرسانی: در ادامه بررسیهای مربوط به آسیبپذیری HTTP2Shell، مجموعهای از آسیبپذیریهای جدید (CVE) در محیط Node.js شناسایی شده است که مستقیماً با نقص در رمزگشا (decoder) کتابخانه Brotli در ارتباط هستند.
از جمله بحرانیترین موارد، CVE-2026-111497 است که یک نقص از نوع Out-of-bounds write را در رمزگشای Brotli فراهم میکند و میتواند منجر به اجرای کد از راه دور (RCE) شود. این آسیبپذیری نسخههای 22.x، 24.x و 26.x Node.js را تحت تأثیر قرار میدهد.
علاوه بر این، چندین آسیبپذیری دیگر با سطوح اهمیت مختلف گزارش شدهاند که وضعیت آنها به شرح زیر است:
- سطح High (بالا): شامل CVE-2026-105482، CVE-2026-105483 و CVE-2026-106069 که نسخههای مختلف Node.js را هدف قرار میدهند.
- سطح Medium (متوسط): شامل CVE-2026-105481، CVE-2026-106072 و CVE-2026-106074.
- سطح Low (پایین): شامل CVE-2026-106070، CVE-2026-106071 و CVE-2026-106073.