Node.js 24.22.3؛ انتشار اصلاحات امنیتی برای HTTP/2 و TLS

چرا مهم است

اگر از Node.js استفاده می‌کنی، این انتشار فقط مجموعه‌ای از اصلاحات معمول نیست؛ چند آسیب‌پذیری با شدت بالا را برطرف می‌کند. یکی از آن‌ها امکان تحریک سرور از راه دور را در داشته است.

قبل از خواندن، این‌ها را بدان۵ مفهوم
Proxy

واسطی که درخواست‌های شبکه را از یک طرف دریافت می‌کند و به مقصد دیگر می‌فرستد.

بیشتر: Proxy

crash

توقف ناگهانی و غیرعادی اجرای برنامه بر اثر خطا.

در حال نگارش: crash

TLS

پروتکلی برای رمزگذاری ارتباط شبکه و بررسی هویت طرف‌های ارتباط با استفاده از certificate.

در حال نگارش: TLS

HTTP/2

نسخه‌ای از پروتکل HTTP که می‌تواند چند stream درخواست و پاسخ را روی یک ارتباط منتقل کند.

در حال نگارش: HTTP/2

buffer

بخشی از حافظه برای نگه‌داری موقت داده، مثلاً تا زمانی که عملیات خواندن یا نوشتن کامل شود.

در حال نگارش: buffer

Node.js نسخهٔ 24.22.3 از شاخهٔ LTS با نام «Krypton» را در ۱۱ نوامبر ۲۰۲۶ منتشر کرد. این انتشار امنیتی شامل اصلاحاتی با شدت بالا، متوسط و پایین در بخش‌های http2،؜ tls،؜ http،؜ https،؜ permission و zlib است.

بخش مهمی از اصلاحات با شدت بالا به HTTP/2 مربوط می‌شود: آزادکردن header‌ها هنگام حذف stream،؜ تشخیص stream‌هایی که nghttp2 رها کرده و نگه‌داشتن buffer‌ها تا پایان نوشتن روی socket. همچنین stream‌ها تا زمانی که عملیات نوشتن در انتظار دارند حفظ می‌شوند. در tls و http نیز از اجرای تودرتوی parser بر اثر عملیات نوشتن خالی جلوگیری شده است.

در TLS،؜ آسیب‌پذیری CVE-2026-126051 که امکان تحریک crash سرور از راه دور را داشت، برطرف شده است. اصلاحات مرتبط با CVE-2026-123872 نیز از تغییر SNI هنگام renegotiation،؜ HRR یا ازسرگیری ارتباط TLS جلوگیری می‌کنند. ازسرگیری ارتباط برای mTLS بدون session id context هم غیرفعال شده است. همهٔ این موارد در فهرست تغییرات با شدت بالا آمده‌اند.

اصلاحات با شدت متوسط شامل جلوگیری از سرریز buffer‌های ALTSVC در HTTP/2 و محاسبهٔ DATA ورودیِ نگه‌داشته‌شده توسط stream‌ها در maxSessionMemory است. در بخش http،؜ اطلاعات ورود Proxy از پیام خطای URL نامعتبر آن حذف می‌شود؛ این مورد با شناسهٔ CVE-2026-123871 ثبت شده است. اعمال CA مربوط به context‌های SNI فاقد certificate و جداسازی کلیدهای سیاست TLS در Agent مربوط به https نیز در همین دسته قرار دارند.

در موارد با شدت پایین، بخش permission دیگر اطلاعات زیرمسیرهای غیرمجاز را در fs.watch بازگشتی افشا نمی‌کند و مقصد heap snapshot را بررسی می‌کند. zlib نیز فراخوانی callback مربوط به params پس از destroy را مدیریت می‌کند.

همراه این اصلاحات، dependency‌ها هم به‌روزرسانی شده‌اند: brotli به 1.2.1،؜ llhttp به 9.4.4،؜ sqlite به 3.54.1 و undici به 7.30.2. فهرست commit‌ها همچنین اصلاح build با OpenSSL 3.0 قدیمی‌تر و رعایت سطح API تنظیم‌شدهٔ OpenSSL را ذکر می‌کند.

نکته کلیدی

نسخهٔ 24.22.3 را به‌عنوان یک انتشار امنیتی بشناس، نه خبری دربارهٔ قابلیت‌های تازه. برای بررسی ارتباط این اصلاحات با برنامه‌ات، بخش‌های شبکه و کنترل دسترسیِ ذکرشده در فهرست تغییرات را مرور کن.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۴)