
هشدار امنیتی Node.js 24 در Amazon Linux ۲۰۲۳ فقط یک بهروزرسانی معمولی بستهها نیست. AWS در بولتن رسمی ALAS2023-۲۰۲۶-۳۳۳۰ که در ۲۴ اکتبر ۲۰۲۶ منتشر و در ۲۶ اکتبر بهروزرسانی شده، مجموعهای از نقصهای مهم را در Node.js و کتابخانهٔ undici تشریح کرده است. این نقصها میتوانند روی اتصالهای HTTP، اعتبارسنجی نام میزبان و گواهی TLS، تصادفیبودن دادهها، مدل مجوز فایل و پایداری سرویسهای مبتنی بر fetch اثر بگذارند.
هشدار امنیتی Node.js ۲۴ دقیقاً چه چیزی را اصلاح میکند؟
این بولتن با شدت Important، چند CVE را برای شاخهٔ Node.js ۲۴ در Amazon Linux ۲۰۲۳ پوشش میدهد. بخشی از مشکلات به مدیریت HTTP Agent مربوط است؛ در یک سناریو ممکن است socket keep-alive پاسخی را پردازش کند که پیش از ارسال درخواست متناظر نوشته شده و باعث آشفتگی ارتباط پاسخ با درخواست یا افشای ناخواستهٔ داده شود. نقص دیگری در dns.resolve، نامهای دامنهٔ دارای null byte را بهدرستی مدیریت نمیکند و میتواند باعث کوتاهشدن نام میزبان و ناهماهنگی در اعتبارسنجی شود. مدیر Node.js ۲۴ باید این تستها را روی سرویسهای واقعی خود اجرا کند.
چند اصلاح نیز مستقیماً به TLS مربوطاند. در برخی حالتها، نام میزبانی که بهشکل سست به IP resolve میشود یا یک hostname غیرcanonical با SAN گواهی مقایسه میشود؛ نتیجه میتواند دورزدن بخشی از بررسی نام میزبان و افزایش ریسک جعل endpoint یا حملهٔ مرد میانی باشد. برای سرویسهایی که به APIهای بیرونی، registry، وبهوک یا پایگاههای دادهٔ ابری متصلاند، این بخش اهمیت ویژهای دارد.


ریسک snapshot، Permission Model و Brotli
AWS همچنین دربارهٔ نگهداری cacheهای entropy مربوط به crypto.randomUUID() و crypto.randomInt() در startup snapshot و Single Executable Application هشدار داده است. اگر چند پردازش از snapshot یکسان شروع شوند، ممکن است مقادیر تکراری تولید شود؛ این موضوع برای شناسههای نشست، توکنها و سازوکارهایی که به یکتایی یا پیشبینیناپذیری متکی هستند، خطرناک است.
در Permission Model نیز یک مسیر عبور از محدودیت دسترسی فایل در fs.realpathSync() اصلاح شده است. علاوه بر آن، نقصی در Brotli میتواند هنگام پردازش ورودی دستکاریشده به نوشتن خارج از محدودهٔ حافظه و در شرایط خاص به اجرای کد منجر شود. بنابراین ارتقای Node.js ۲۴ فقط برای سرویسهایی که از TLS استفاده میکنند مطرح نیست؛ workerها، ابزارهای CLI و برنامههای مستقل Node.js هم باید در فهرست بررسی قرار گیرند.
چند نقص مهم در undici و fetch
undici کتابخانهٔ HTTP مورد استفاده در مسیرهای رایج request، fetch و setGlobalDispatcher در Node.js است. در نسخههای آسیبپذیر، گزینهٔ تابعی checkServerIdentity ممکن است هنگام انتقال تنظیمات TLS حذف شود و بررسی سفارشی گواهی اجرا نشود. این مسئله برای برنامههایی که certificate pinning یا کنترل کلید عمومی دارند مهم است.
چند نقص دیگر undici به cache مشترک پس از redirect بین originها، اعتبارسنجی SRI با نام الگوریتم بزرگ یا ترکیبی، نشت حافظه در EventSource و WebSocket، پاسخهای فشردهٔ مخرب و renegotiation در TLS ۱.۲ مربوط است. نسخههای اصلاحی undici برای شاخههای ۶، ۷ و ۸ بهترتیب از 6.29.1، 7.30.1 و 8.12.2 شروع میشوند؛ نسخهٔ دقیق مورد نیاز به dependency tree پروژه بستگی دارد.
اقدام فوری برای مدیران Amazon Linux ۲۰۲۳
نخست موجودی واقعی Node.js ۲۴ را روی همهٔ سرورها ثبت کنید؛ فقط نسخهٔ درجشده در image یا فایل package کافی نیست. برای بستهٔ nodejs24، AWS دستور dnf update nodejs24 --releasever 2023.12.20261026 یا بهروزرسانی با advisory رسمی را پیشنهاد کرده است. پس از نصب، نسخهٔ runtime، lockfile و dependency tree مربوط به undici را دوباره بخوانید.
سپس تستهای TLS و DNS را روی endpointهای واقعی، redirectهای بیندامنهای، fetchهای دارای SRI و سرویسهای دارای cache مشترک اجرا کنید. Permission Model، startup snapshot، SEA، WebSocket و EventSource را نیز در staging آزمایش کنید. در نهایت، لاگ خطا، سلامت workerها، مصرف حافظه و توان rollback را بررسی و نتیجهٔ rollout را ثبت کنید. بهروزرسانی را ابتدا روی canary انجام دهید و بعد از تأیید رفتار سرویس، آن را به production گسترش دهید.
برای جزئیات CVEها، نسخهٔ بستهها و دستور رسمی ارتقا، بولتن امنیتی AWS برای Amazon Linux ۲۰۲۳ را ببینید. برای راهکارهای فنی و خدمات طراحی و توسعه وب تکتاز نیز میتوانید به صفحهٔ خدمات مراجعه کنید.
منبع
AWS Amazon Linux Security Center، بولتن ALAS2023-۲۰۲۶-۳۳۳۰، منتشرشده در ۲۴ اکتبر و بهروزشده در ۲۶ اکتبر ۲۰۲۶.
مطالب مرتبط
همه مطالب اخبار تکنولوژیاخبار تکنولوژیNGINX ۱.۳۱.۷؛ پشتیبانی بومی GeoIP2 و HTTP/۲
اخبار تکنولوژیGitLab ۱۹.۵؛ MCP عمومی و مدیریت متمرکز اسرار برای CI/CD
اخبار تکنولوژیهشدار امنیتی Node.js؛ آمادهسازی برای اصلاحیه ۲۱ اکتبر
اخبار تکنولوژیبهروزرسانی امنیتی UpdraftPlus؛ نسخهٔ ۱.۲۶.۱۱ منتشر شد
اخبار تکنولوژیGo ۱.۲۷.۳ و ۱.۲۶.۱۰ منتشر شد؛ راهنمای ارتقای امنیتی crypto/x509
اخبار تکنولوژیKeePassXC ۲.۸.۰ منتشر شد؛ قابلیتهای تازه و اصلاحات امنیتی











