آسیبپذیری مهم «HTTP2Shell» Brotli باعث ایجاد وصلههای اضطراری میشود
یک نقص مهم به نام HTTP2Shell در Brotli، کتابخانه رمزگشای C ساخته شده در Node.js، می تواند به مهاجمان اجازه دهد حافظه را خراب کرده و به داده های حساس دسترسی داشته باشند. [...]
یک نقص مهم به نام HTTP2Shell در Brotli، کتابخانه رمزگشای C ساخته شده در Node.js، می تواند به مهاجمان اجازه دهد حافظه را خراب کرده و به داده های حساس دسترسی داشته باشند.
این مشکل امنیتی بهعنوان CVE-2026-111497 پیگیری میشود و با نامهای «Broccoli2Shell» و «Node2Shell» نیز شناخته میشود. بر روی نسخه های Brotli 1.0.3 تا 1.0.9، 1.1.0 و 1.2.0 تأثیر می گذارد.
این آسیبپذیری با نامهای مختلفی گزارش شده است، زیرا ابتدا در Node.js شناسایی شد، قبل از اینکه محققان متوجه شوند که همان نقص در رمزگشای Brotli میتواند بر نرمافزار در چندین اکوسیستم تأثیر بگذارد.
Brotli یک پروژه منبع باز است که توسط گوگل برای فشرده سازی داده های بدون ضرر توسعه و نگهداری می شود. این فایلها را کوچک میکند تا سریعتر بدون تأثیر بر دادههای اصلی منتقل شوند.
نام HTTP2Shell منعکس کننده تأثیر آن بر سرویس گیرندگان و سرورهای HTTP است، اگرچه این آسیب پذیری مختص HTTP/2 نیست و می تواند سایر برنامه هایی را که داده های Brotli کنترل شده توسط مهاجم را از حالت فشرده خارج می کنند، تحت تأثیر قرار دهد.
به غیر از Node.js، نرمافزارهای تحت تأثیر احتمالی شامل کلاینتهای HTTP پایتون مانند urllib3[brotli]، درخواستها، httpx و aiohttp[speedups]، هنگامی که با رمزگشای آسیبپذیر Brotli پیکربندی میشوند، و همچنین برنامهها و ابزارهای دیگری که از پیادهسازیهای آسیبپذیر Brotli استفاده میکنند، میشود.
روز یکشنبه، مایکروسافت یک بهروزرسانی امنیتی اضطراری را برای رسیدگی به این مشکل در داتنت ارائه کرد و هشدار داد که بهرهبرداری موفقیتآمیز اجازه میدهد تا امتیازات را در سیستمهایی با نسخه داتنت آسیبپذیر افزایش دهد.
آسیبپذیری Node2Shell یک سرریز بافر است که به یک جریان فشردهسازی شده ویژه Brotli اجازه میدهد یک سوئیچ بلوک نامعتبر را راهاندازی کند که رمزگشا آن را معتبر میداند و بهعنوان درخواست ورودی بیشتر به اشتباه تفسیر میکند.
با ادامه افزودن بایت های ورودی به یک بافر داخلی هشت بایتی، نوشته فراتر از محدوده آن گسترش می یابد و حافظه نزدیک را خراب می کند.
Node.js در توصیهای توضیح میدهد: «یک سوئیچ بلوک نامعتبر بهعنوان نیاز موقت به ورودی بیشتر بهجای خطای قالب دائمی گزارش شد، بنابراین رمزگشای جریان همچنان بایتهای ورودی را به یک بافر داخلی هشت بایتی اضافه میکند».
مهاجم میتواند با دریافت یک برنامه کاربردی برای از حالت فشردهکردن دادههای مخرب، مانند ارائه یک پاسخ HTTP فشرده به برنامهای که URL را واکشی میکند، یا با ارسال درخواست فشرده شده مستقیما به سرور، از آن سوء استفاده کند.
Node.js می گوید که این می تواند فرآیند را خراب کند، حافظه را در معرض نمایش قرار دهد و اجرای کد از راه دور (RCE) را فعال کند.
گزارش اخیر شرکت امنیت سایبری Imperva تایید می کند که بهره برداری از آسیب پذیری CVE-2026-111497 Node2Shell می تواند منجر به RCE شود.
اصلاحات بالادستی Brotli ابتدا در ماه فوریه به کد منبع پروژه متعهد شد، اما Node.js و Google در 21 اکتبر اصلاحات پایداری را برای کاربران منتشر کردند و پس از آن روز بعد افشای عمومی انجام شد. بسته های PyPI حاوی اصلاحات در 23 اکتبر در دسترس قرار گرفت.
اکسپلویت های اثبات مفهوم (PoC) برای Node2Shell منتشر شده است، اما هیچ گزارشی از سوء استفاده مخرب در طبیعت وجود ندارد. با این وجود، کاربران باید بهروزرسانیهای امنیتی موجود را در اولویت قرار دهند.
پس از بهروزرسانی، مدیران باید فرآیندهای آسیبدیده را مجددا راهاندازی کنند، و تصاویر کانتینر آسیبدیده باید بازسازی و مستقر شوند.
یک پورتال آنلاین اختصاصی که تأثیر این نقص را ردیابی می کند، همچنین هشدار می دهد که به روز رسانی کتابخانه سیستم Brotli خطرات موجود در استقرار Node.js یا سایر برنامه هایی را که از نسخه همراه خود از کتابخانه استفاده می کنند، برطرف نمی کند.
همچنین، مسدود کردن درخواستهای Brotli ورودی همچنان مسیر مخرب پاسخ HTTP را آشکار میکند.
اگر بهروزرسانی فوری امکانپذیر نیست، توصیه میشود که پشتیبانی Brotli را از برنامههای پایتون حذف کنید و درخواستهای فشردهشده با Brotli دریافتی را در سطح پروکسی یا فایروال آنها مسدود کنید.
نمرات کلی پیشگیری می تواند آنچه را که پس از دسترسی اولیه اتفاق می افتد پنهان کند. هنگامی که مهاجمان از اعتبارنامه های معتبر استفاده می کنند، پیشگیری به شدت کاهش می یابد.
گزارش آبی 2026 تکنیک دفاعی را با تکنیک در 338 میلیون شبیه سازی اجرا شده در محیط های تولید مشتری اندازه گیری می کند.
مایکروسافت وصله های اضطراری دات نت را برای نقص مهم Brotli منتشر کرد
PHP کاهش آسیب پذیری RCE جدید را بدون وصله به اشتراک می گذارد
HPE هشت RCE را با حداکثر شدت وصله می کند و ایرادات AOS را احراز می کند
GitLab درباره آسیبپذیری جدید اجرای کد با حداکثر شدت هشدار میدهد
PHP وصله های اضطراری را برای نقص های مهم PHP2Shell ارسال می کند
متن اصلی (انگلیسی)
Critical 'HTTP2Shell' Brotli vulnerability triggers emergency patches
A critical flaw dubbed 'HTTP2Shell' in Brotli, the C decoder library built into Node.js, could allow attackers to corrupt memory and access sensitive data. [...]