منابع از 23 اکتبر 2026 بررسی شدند (UTC) دوره پوشش: 25 ژوئیه تا 23 اکتبر 2026، با تمرکز بر اطلاعیه های جدید و وصله های بعدی از سپتامبر تا اکتبر. Aمخاطب: مهندسین و پاسخگوهای امنیتی که خدمات Node.js، Java، Python، کانتینرها، ساخت خطوط لوله و محیط های توسعه را نگهداری می کنند.
این مقاله خطرات امنیتی مهم اخیر در زمانهای اجرا Node.js، Java و Python، کتابخانههای استاندارد و چارچوبها و وابستگیهای سرور رایج را خلاصه میکند و دامنه تأثیر، نسخههای ثابت، اقدامات کاهش موقت، انتخاب وصله، و روشهای تأیید را ارائه میکند.
تاثیر نسخههای مؤلفه، ویژگیهای فعال و نقاط ورودی قابل دسترسی را ارزیابی کنید. حقایق آسیب پذیری از توصیه های رسمی ناشی می شود. تاریخ ها به افشای عمومی اشاره دارد مگر اینکه به صراحت به انتشار پچ قبلی اشاره شده باشد. ما شرایط بهره برداری تایید نشده، امتیازات CVSS یا بهره برداری در طبیعت را استنباط نمی کنیم. مشاوره استقرار به عنوان راهنمای پیاده سازی شناسایی می شود.
TL;DR: اولویت های اصلاح
- ابتدا زمان اجرا را که در واقع میزبان سرویس است به روز کنید. مربوطه را به روز کنید Node.js شاخه به حداقل 22.23.4 / 24.22.1 / 26.12.1 . خدمات با استفاده از Node 24 می تواند ارتقا یابد 24.22.1 در همان نسخه اصلی یا نسخه بعدی که شامل همان اصلاحات است. S1 S2
- به روز رسانی Node وابستگی های برنامه به طور جداگانه برای Next.js ، استفاده کنید 15.5.28 / 16.4.1 به عنوان خط پایه ارتقاء؛ هنگام استفاده React Server Components به طور مستقل، نصب واقعی را بررسی کنید
react-server-dom-*بسته بندی فقط به روز رسانی Node باینری این آسیب پذیری های چارچوب را پوشش نمی دهد. S8 S9 S10 S11 S12 - Java : پوشش هر دو دور به روز رسانی. یک سازه فروشنده نصب کنید که هر دو 20 اکتبر را پوشش دهد CPU و 21 اکتبر CVE-2026-91403 تعمیر گواهی اضطراری اعتماد بخش را ببینید 2.2 برای Oracle JDK 11 -27 نسخه خارج از باند. سایر توزیع ها را در برابر بسته های امنیتی خود و شماره های ساخت کامل تأیید کنید. مربوطه را به روز کنید Tomcat شعبه به 9.0.123 / 10.1.61 / 11.0.27 . S16 S17 S18 S20 S21 S22 S23
- Python : مفسر، بسته های برنامه و بسته های گواهی را جداگانه به روز کنید. بخش را ببینید 2.3 برای خطوط مبنا مترجم؛
certifiتوصیه می کند ≥ 2026.10.19 ,pip≥ 26.2.2 ، هنگام استفادهuv≥ 0.13.4 . هر venv موجود باید بررسی شود. برایwrap_bio()کدهای مرتبط، صحیح و غیر خالیserver_hostnameنیز باید در آن پاس شود. S29 S30 S31 S33 S35 S36 S37 - اگر ارتقاء فوری غیرممکن است، نوردهی را در نقاط ورودی مربوطه کاهش دهید. توقف غیرقابل اعتماد را در اولویت قرار دهید Brotli رمزگشایی، پردازش تصویر/صفحه بندی/آرشیو تحت تاثیر قرار گرفته و جداسازی مشکل دارد LDAP یا ورودی های احراز هویت؛ نگه داشتن TLS گواهینامه ها و نام میزبان تأیید شده است. ورودی WAF نمی تواند مسیرهای خروجی مانند برنامه هایی که پاسخ های فشرده مخرب را می کشند را پوشش دهد. S3 S11 S25 S27 S30 S32
- بازسازی، جایگزینی فرآیندهای قدیمی و تأیید از طریق مسیرهای خدمات واقعی. فایل قفل و خلاصه تصویر را ذخیره کنید، برنامه و تصویر را بازسازی کنید، جایگزین هایی را برای همه کارگران ارائه دهید/ JVM /ظروف فرآیند واقعی، درخت وابستگی، فروشگاه اعتماد و آزمون های رگرسیون کسب و کار را بررسی کنید. نسخه خط فرمان جدیدتر به تنهایی ثابت نمی کند که اصلاح کامل است.
- اگر LiteLLM 1.107.0 نصب یا اجرا شد، مراحل واکنش به حادثه را دنبال کنید. این پروژه در 21 اکتبر مصالحه انتشار را تأیید کرد. محیطهای آسیبدیده را جدا کنید، از یک محیط تمیز تحقیق کنید، اعتبارنامههای در معرض دید را دوباره بسازید و بچرخانید. شروع نکنید Python/pip در یک محیط مشکوک برای بررسی ابتدا. برای جزئیات بیشتر به بخش 9 مراجعه کنید. S41
1. بررسی اجمالی آسیب پذیری و ارزیابی ریسک
1.1 اصلاح را با قرار گرفتن در معرض واقعی در اولویت قرار دهید
اولویتهای استقرار در زیر، راهنمای اجرا هستند. برچسبهای شدت به دنبال هر فروشنده است، از جمله رتبه Apache Important. CVSS 3.1 و 4.0 سیستم های امتیازدهی متفاوتی هستند. مسائل را تنها بر اساس امتیاز رتبه بندی نکنید.
| اکوسیستم / لایه | مسائل کلیدی | نمره رسمی یا نمره تایید شده | اولویت استقرار |
|---|---|---|---|
| وابستگی بومی Node.js | CVE-2026-111497: Brotli خارج از محدوده نوشته شده است و خطر RCE وجود دارد | Node:High | رمزگشایی داده های Brotli S1S3 در بدنه درخواست خارجی یا پاسخ خارجی |
| Node.js TLS / DNS | CVE-2026-105482، 105483، 106069: تجزیه و تأیید هویت ناسازگار است | High | URL خزیدن، پروکسی، Webhook، آدرس هدف پویا S1S5S6 |
| Node.js HTTP/2 | CVE-2026-56846، 56848: حافظه تمام شده و UAF | High | Node مستقیماً ترافیک غیرقابل اعتماد HTTP/2 را مدیریت می کند S7 |
| React / Next.js | RSC / use cache typed arrays RCE | Critical;CVSS 4.0 9.5 | سرور RSC، اجزای کش مرتبط و مسیر داده S9S10 |
| Next.js بهینه سازی تصویر | CVE-2026-96889: SVG پردازش تصویر RCE | Critical;CVSS 4.0 9.5 | مواردی در glibc Linux که می تواند تصاویر نامعتبر را مدیریت کند S11 |
| Next.js Server Actions | درخواست طراحی شده خاص باعث می شود CPU تمام شود | High;CVSS 4.0 8.2 | App Router و حداقل یک Server Action S12 |
| اعتماد Java TLS | CVE-2026-91403: همچنان به واسطه آسیب دیده CA اعتماد کنید | CVSS 3.1 9.1 | سناریوی TLS/API S17 با استفاده از زنجیره اعتماد تحت تأثیر |
| Tomcat | دور زدن احراز هویت JNDIRealm، مخلوط کردن درخواست متقابل HTTP/2، نشت پاسخ AJP | Important | مربوط به مسیر Realm / Connector / async Servlet S21S22S23 |
| Spring for GraphQL | CVE-2026-59285: جداسازی صفحه بندی RCE | High | صفحه بندی Jackson 2 + Connection + مسیر کلاس قابل بهره برداری S25 |
| Spring Security | CVE-2026-59270: هویت مدیریت شناخته شده LDAP تعبیه شده آشکار شد | Critical | LDAP جاسازی شده فعال است و درگاه گوش دادن برای مهاجم S27 قابل دسترسی است. |
CPython ssl | CVE-2026-19445: SNI تغییر زمینه منجر به UAF می شود | Critical | Python به خودی خود TLS را خاتمه می دهد و شرایط چرخه حیات زمینه را برآورده می کند S29 |
CPython ssl | CVE-2026-19553: وقتی نام میزبان موجود نیست، از تأیید صحت رد شوید | High | wrap_bio() / تماس asyncio مرتبط نام میزبان مورد انتظار وجود ندارد S30 |
CPython tarfile | CVE-2026-82049: پیوند سخت و بای پس ترکیب پیوند نمادین | High | استخراج خودکار بایگانی تار نامعتبر S32 |
| Django / GeoDjango | CVE-2026-15307: فایل نوشتن پرس و جو فضایی، SSRF، تحت شرط RCE | High | درخواستهای فضایی یا رابطهای مدیریت مربوطه که ورودی نامعتبر S38 را میپذیرند |
| وابستگی گواهی Python | certifi: بی اعتمادی گواهی مربوط به emSign | Critical; GHSA، هیچ کدام شناخته نشده است CVE | ابزار مدیریت بسته و کلاینت TLS S36S37 هنوز از CA bundle آسیب دیده استفاده می کند |
مخفف ها: RCE مخفف اجرای کد از راه دور، UAF مخفف استفاده پس از رایگان و SSRF مخفف جعل درخواست سمت سرور است. مجوزهای مستقیم RCE معمولاً مجوزهای فرآیند میزبان برنامه هستند و نمی توانند به طور خودکار با مجوزهای ریشه معادل باشند.
توالی توصیه شده: ابتدا RCE را کنترل می کند، که به صورت خارجی قابل دسترسی است و شرایط، دور زدن احراز هویت، نشت اطلاعات بین کاربر و مسائل مربوط به احراز هویت گواهی را برآورده می کند. در همان زمان، بهروزرسانیها را برای نقطه ورود عمومی DoS برنامهریزی کنید. برای اثبات قابلیت بهره برداری، نیازی به اجرای بارهای حمله در تولید نیست. وابستگی ها وجود دارند، مسیرهای کد قابل دسترسی هستند و شرایط حمله برآورده می شوند. این سه موضوع هستند که باید جداگانه بررسی شوند.
1.2 سه مرز به راحتی اشتباه گرفته می شود
- زمان اجرا و وابستگی ها را جداگانه ارتقا دهید. به روز رسانی های امنیتی برای Node , JDK , CPython به طور خودکار نصب های مستقل را تعمیر نمی کند Next.js , Spring , Django , certifi یا پسوندهای بومی
- را آستانه اصلاح جدا از خط پایه استقرار فعلی است. اولین وصله آسیبپذیری در ماه اوت تضمین نمیشود که مسائل جدید را از سپتامبر تا اکتبر پوشش دهد. بخش 2 از به روز رسانی های بعدی تأیید شده به عنوان هدف پیاده سازی استفاده می کند.
- یک آسیب پذیری را از یک مصالحه زنجیره تامین واقعی متمایز کنید. برای آسیب پذیری های رایج، وصله ها مسیرهای حمله آینده را حذف می کنند. هنگامی که بسته های مخرب اجرا می شوند، تأثیر اعتبار و ماندگاری باید بررسی شود. بخش 9 LiteLLM رویداد رسمی تایید شده است. S41
اینکه آیا بهره برداری تایید شده در طبیعت وجود دارد یا خیر، باید بر اساس افشای رسمی باشد. فروشنده به فعالیت های بهره برداری اشاره ای نکرد و نمی تواند ثابت کند که هیچ حمله ای وجود ندارد. اصلاح باید بر اساس سطح حمله واقعی انجام شود.
2. بررسی سریع نسخه ثابت و خط پایه استقرار
مرجع: 2.1 Node.js、React、Next.js
| جزء/شاخه | نسخه اولیه نسخه توصیه شده | دستورالعمل استفاده |
|---|---|---|
| Node.js 22.x | 22.23.4 | انتشار امنیتی S1S2 در 21 اکتبر |
| Node.js 24.x | 24.22.1 | برای شاخه 24.x اعمال می شود. 24.22.0 حاوی وصله امنیتی 21 اکتبر S1S2 نیست |
| Node.js 26.x | 26.12.1 | انتشار امنیتی در همان دسته S1S2 |
| Node.js 20 و شاخه های بالادست قبلی | به یک شعبه پشتیبانی شده مهاجرت کنید | Node 20 این اصلاح بالادستی را نمی پذیرد. پشتیبانی گسترده فروشنده باید به طور جداگانه S3 تأیید شود |
| Next.js 15.x | 15.5.28 | به روز شده در 14 اکتبر S8 |
| Next.js 16.x | 16.4.1 | مانند بالا S8 |
| شعبه مستقل RSC 19.0 / 19.1 / 19.2 / 19.3 | 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1 | سه بسته react-server-dom-* را جداگانه بررسی کنید. فقط به لایه بالایی نگاه نکنید react S10 |
Next در واقع sharp را بارگذاری کرد | ≥0.35.5 | شرایط رفع موقت رسمی آسیبپذیری SVG؛ جایگزین سایر وصله های Next.js S11 نمی شود |
Node رسماً شاخههای تعمیر و نگهداری آسیبدیده را برای آسیبپذیری اکتبر فهرست میکند، اما نسخه وصله اولیه معرفیشده را آیتم به مورد ارائه نمیکند، بنابراین نسخه اولیه دقیق هر آسیبپذیری را نمیتوان تنها بر اساس محدوده شاخه تعمیر و نگهداری تعیین کرد. هنگام استقرار، اولویت را به استفاده از نسخه فوق از همان شاخه یا نسخه بعدی تأیید شده حاوی همان اصلاحات بدهید.
2.2 Java: اکتبر CPU به همراه بهروزرسانی گواهی خارج از باند
این جدول برای Oracle JDK کاربرد دارد. ستون دوم فقط CPU 20 اکتبر را پوشش می دهد. سوم شامل انتشار خارج از گروه در 21 اکتبر است. نسخه های CPU به تنهایی تمام خطرات Java که در اینجا مورد بحث قرار گرفت را پوشش نمی دهند. S16S17S18
| شاخه | 20 اکتبر CPU | Oracle در 21 اکتبر از باند خارج شد |
|---|---|---|
| 11 | 11.0.33 | 11.0.33.0.2 |
| 17 | 17.0.21 | 17.0.21.0.2 |
| 21 | 21.0.13 | 21.0.13.0.2 |
| 25 | 25.0.5 | 25.0.5.0.2 |
| 27 | 27.0.1 | 27.0.1.0.2 |
| 8 | 8u511 | جدول انتشار عمومی همچنان 8u511 را نشان می دهد. ساختار امنیتی خاص و تعمیر زنجیره اعتماد باید بررسی شود و نمی توان آن را تنها بر اساس شماره نسخه کوتاه تعیین کرد |
**Java 8 باید با اطلاعات کامل ساخت بررسی شود:**Oracle هشدار 8u511 را به عنوان نسخه آسیب دیده لیست می کند و لیست انتشار به روز رسانی های بعدی را با همان نام کوتاه لیست می کند. وضعیت وصله تنها بر اساس شماره نسخه کوتاه “8u511” قابل تشخیص نیست. شما باید ساختار امنیتی خاص و اصلاحات زنجیره اعتماد را تأیید کنید. S17S18
Temurin , Corretto , Zulu , Microsoft Build of OpenJDK ، نسخه انتشار OpenJDK و غیره، با توجه به اطلاعیه های مربوطه و شماره های بسته/بیلد کامل آنها را بررسی کنید. به عنوان مثال، رکورد انتشار رسمی از Adoptium بیان می کند که ساخت مربوطه برای اضافه کردن مجدد بسته بندی شده است eMudhra رفع؛ نام یکسان نسخه upstream به این معنی نیست که محتوای بسته یکسان است. را .0.2 قوانین پسوند برای Oracle نمی توان به صورت مکانیکی برای ناشران دیگر اعمال کرد. S20
| اجزای برنامه Java | نسخه اولیه نسخه توصیه شده | اظهارات |
|---|---|---|
| Tomcat 9 / 10.1 / 11 | 9.0.123 / 10.1.61 / 11.0.27 | شاخه به شاخه را بررسی کنید. Tomcat 10.0 تعمیر و نگهداری را متوقف کرده است S21S22S23 |
| Spring for GraphQL 2.0.x | 2.0.5(OSS) | پشتیبانی تجاری نیز 2.0.4.1 S25 است |
| Spring Security 7.1 / 7.0 | 7.1.1 / 7.0.7(OSS) | مربوط به حداقل نسخه ثابت اعلام شده در ماه اوت است. قبل از استقرار باید بولتن امنیتی بعدی S27S28 را بررسی کنید |
| Spring Security 6.5 / 6.4 / 5.8 / 5.7 | 6.5.12 / 6.4.19 / 5.8.28 / 5.7.26 | اعلامیه به عنوان یک تعمیر پشتیبانی تجاری ذکر شده است. مهاجرت زمانی ارزیابی می شود که پشتیبانی مربوطه وجود نداشته باشد، و نمی توان فرض کرد که Maven Central به صورت رایگان S27 در دسترس است |
ارتقاهای Spring باید حداقل نسخه Spring Boot BOM، Java و خطوط سازگاری پروژه را رعایت کنند. تمام ماژولهای Spring را مستقیماً به یک تعداد فقط برای دریافت پچ مجبور نکنید.
2.3 CPython، Django و وابستگی های گواهی
ستون دوم جدول زیر بر موضوع TLS که در ماه سپتامبر فاش شد تمرکز دارد. تفاوت های شاخه برای tarfile در بخش 5.3. نشان داده شده است. انتشارات 21 اکتبر همچنین ابزارهای گواهی همراه را به روز کردند، بنابراین ستون آخر شامل خطوط پایه استقرار بعدی است. S29S30S33S35
| شعبه CPython | حداقل نسخه بسته امنیتی سپتامبر | خط پایه استقرار توصیه شده |
|---|---|---|
| 3.10 | 3.10.22 | آخرین نسخه از بالادست، EOL. مهاجرت را ترتیب دهید یا پشتیبانی برنامه افزودنی انتشار S34 را تأیید کنید |
| 3.11 | 3.11.17 | 3.11.17 و به روز رسانی pip/certifi در هر محیط به صورت جداگانه |
| 3.12 | 3.12.15 | 3.12.15 و به روز رسانی pip/certifi در هر محیط به صورت جداگانه |
| 3.13 | 3.13.16 | 3.13.17 |
| 3.14 | 3.14.8 | 3.14.9 |
| 3.15 | نسخه نهایی 3.15.0 شامل هر دو رفع TLS S31S47 است | 3.15.1 |
نسخههای امنیتی بالادستی 3.11 و 3.12 ممکن است فقط در کد منبع منتشر شوند. هنگام استفاده از بسته سیستم عامل، توصیه نامه پشتیبان فروشنده و نسخه کامل بسته را بررسی کنید و نیازی به تعویض اجباری سیستم Python با نسخه خودکامپایل نیست. S33S34
| وابستگی مستقل | نسخه اولیه نسخه توصیه شده | توضیحات |
|---|---|---|
| Django 5.2 / 6.0 / 6.1 | 5.2.18 / 6.0.9 / 6.1.2 | تصحیح بعدی S38S39 در 6 اکتبر وارد شود |
| certifi | ≥2026.10.19 | پچ اولیه GHSA .18 است. PSF .19 را برای حفظ سازگاری برای گواهینامه های بی پیرایه توصیه می کند S36S37 |
| pip | ≥26.2.2 | نسخه داخلی certifi باید جداگانه به روز شود S35S37 |
| uv (در صورت استفاده) | ≥0.13.4 | S37 را مطابق روش نصب واقعی به روز کنید |
این خطوط پایه رفعهای فهرست شده را پوشش میدهند. یکی دیگر از مشکلات با شدت متوسط در tar_filter در 22 اکتبر فاش شد. از 23 اکتبر 2026، نسخه تعمیر و نگهداری رسمی حاوی این اصلاح هنوز تایید نشده است. بنابراین، 3.13.17 / 3.14.9 / 3.15.1 را نمی توان در نظر گرفت که همه مسائل تارفیل را پوشش داده است. به بخش 5.4. S40 مراجعه کنید
2.4 بررسی بکپورت های توزیع
اصول پیاده سازی قابل اجرا برای Ubuntu، Debian، RHEL و سایر بسته های نرم افزاری:
- نسخه سیستم عامل، منبع مخزن، نسخه بسته کامل و شماره بولتن امنیتی فروشنده را ضبط کنید.
- تأیید کنید که این توصیه نامه CVE خاص را پوشش می دهد و یک بسته ثابت را برای انتشار توزیع مربوطه شناسایی می کند.
- باینریها/کتابخانههای بارگذاریشده توسط فرآیند در حال اجرا واقعی را مقایسه کنید، نه فقط نسخه کوتاه بالادستی.
- وقتی هیچ مدرکی دال بر وصله فروشنده وجود ندارد، آن را «تایید شود» بگذارید و آن را تنها نتیجه گیری نکنید که شماره نسخه قدیمی یا جدید به نظر می رسد.
در نسخه های بسته apt/RPM و استراتژی های backport توزیع های مختلف تفاوت هایی وجود دارد. بولتن امنیتی و نسخه بسته کامل هر توزیع باید غالب باشد.
3. اکوسیستم Node.js / JavaScript: تجزیه و تحلیل علل و اصلاح
3.1 CVE-2026-111497: رمزگشای اصلی Brotli نوشتن خارج از محدوده
افشای: 2026-10-21; درجه رسمی Node: High. بیلدهای تحت تأثیر Node 22.x، 24.x، 26.x برای نصب نیاز به وصله بخش 2.1 دارند. Node در اعلامیه امتیاز عددی CVSS ذکر نشده است. S1
مشکل در منطق رمزگشایی بومی هنگام مدیریت جریان فشرده Brotli ناقص رخ می دهد، که می تواند منجر به نوشتن خارج از محدوده شود. شرح رسمی Vercel تأیید می کند که نمایش تحقیق شامل نشت حافظه پردازش و اجرای دستور است. اینکه یک مهاجم بتواند به رمزگشا دسترسی پیدا کند یا نه بستگی به این دارد که آیا برنامه یا وابستگی واقعاً داده هایی را که کنترل می کند رمزگشایی می کند. S3
هر دو جهت باید به طور همزمان بررسی شوند:
- inbound: چارچوب یا میان افزار به طور خودکار بدنه درخواست Brotli ارسال شده توسط کاربر را از حالت فشرده خارج می کند.
- **outbound:**HTTP کلاینتها، تصویر گیرندگان و غیره به منابع قابل کنترل مهاجم دسترسی پیدا میکنند و محتوای برگشتی را بهطور خودکار از حالت فشرده خارج میکنند.
غیرفعال کردن فشرده سازی Brotli پاسخ های ارسال شده به مرورگرها، نقطه ورودی رمزگشایی را حذف نمی کند. حفاظت ورودی WAF همچنین برنامههای کاربردی واکشی و رمزگشایی پاسخهای خارجی را پوشش نمیدهد. S3
**جهت وصله:**Node رفع Brotli بالادستی را به وابستگی اصلی منتقل کنید و بررسی وضعیت رمزگشایی غیرقانونی و انتشار خطا را تکمیل کنید. هنگام نگهداری یک نسخه خودکامپایل شده، باید از نسخه امنیتی رسمی یا وصله کامل شاخه منطبق استفاده کنید. شما نمی توانید فقط بیانیه نسخه یک بسته JavaScript را تغییر دهید. S4
پیشنهادات اجرای موقت: رمزگشایی غیرضروری غیرضروری Brotli را متوقف کنید. رفتار فشرده سازی خودکار میان افزار و مشتری HTTP را بررسی کنید. اگر کسب و کار باید این قالب را بپذیرد، پردازش را در محیط وصله شده در اسرع وقت تکمیل کنید. تنظیم Accept-Encoding صرفاً یک عمل مذاکره است و نباید به تنهایی به عنوان مدرکی مبنی بر مسدود شدن یک پاسخ مخرب باشد.
3.2 TLS / DNS سه High: شی تأیید با هدف واقعی ناسازگار است
هر سه در 21 اکتبر با آستانه ارتقاء رسمی در بخش 2.1. S1 افشا شدند.
| شناسه | موضوع تایید شد | شاخه های آسیب دیده |
|---|---|---|
| CVE-2026-105482 | dns.resolve کوتاه کردن نام های حاوی NUL | 22.x / 24.x / 26.x |
| CVE-2026-105483 | IP در شکل عددی تمام عرض باعث میشود که تأیید نام میزبان گواهی دور زده شود. | 24.x / 26.x |
| CVE-2026-106069 | نام میزبانی که میتواند بهصورت آزادانه بهعنوان IP تفسیر شود، منجر به دور زدن تأیید TLS میشود | 22.x / 24.x / 26.x |
DNS ماهیت مشکل این است که رشته بررسی شده توسط لایه بالایی با نامی که در واقع توسط لایه پایین تجزیه می شود متفاوت است. پچ رسمی NUL را در ورودی تجزیه رد می کند و پوشش رگرسیون را اضافه می کند. S6
TLS دو مورد شامل عادی سازی نام، سازگاری تفسیر IP و تطبیق گواهی است. وصله کنید تا ورودی غیر استاندارد IP رد شود یا به درستی مدیریت شود تا نقطه پایانی واقعی IP با هویت دامنه گواهی اشتباه گرفته نشود. S5
پیشنهادات عیبیابی واقعی برای : اولویت را به بررسی کد کاربر دریافتکننده URL، هدف پروکسی پویا یا آدرس Webhook میدهد. استانداردسازی یکپارچه و اجازه قضاوت لیست، رد کاراکترهای NUL/کنترل، تایید قانونی IPv4، IPv6 و نام های دامنه بین المللی هنوز کار می کنند. اینکه SSRF می تواند بیشتر شکل بگیرد نیاز به استفاده از شواهد پیوند دارد که نمی توان مستقیماً از نام CVE استنباط کرد.
از NODE_TLS_REJECT_UNAUTHORIZED=0 یا rejectUnauthorized: false برای حذف خطاهای جمع کنترل پس از ارتقا استفاده نکنید. آدرس، گواهی و پیکربندی کسب و کار باید اصلاح شود.
3.3 جولای HTTP/2 High-ریسک و مشکلات مدل مجوز
مسائل زیر که در ژوئیه فاش شد هنوز باید در تحقیقات گنجانده شود. توصیه می شود هنگام استقرار مستقیماً از خط پایه نسخه امنیتی اکتبر در بخش 2.1 استفاده کنید. S7
| CVE | علل و عوارض | اولین نسخه ثابت |
|---|---|---|
| CVE-2026-56846 | بلوک حفظ شده HTTP/2 header به درستی در بودجه maxSessionMemory گنجانده نشده است و می تواند حافظه را تخلیه کند. ضربه 22.x / 24.x | 22.23.2 / 24.18.1 |
| CVE-2026-56848 | HTTP/2 مجدداً در طول جمعآوری بسته وارد مسیر ارسال میشود و باعث ایجاد پشته UAF میشود. ضربه 22.x / 24.x / 26.x | 22.23.2 / 24.18.1 / 26.5.1 |
| CVE-2026-58043 | --permission تطابق مرز پیشوند مسیر بسیار گسترده است و ممکن است به فایل های خارج از لیست مجاز دسترسی داشته باشید. | مانند سه خط تعمیر و نگهداری بالا |
هر سه رسما High هستند. دو مورد اول اولویت را به بررسی اینکه آیا HTTP/2 توسط خود Node پردازش شده است یا خیر. مورد سوم فقط در هنگام استفاده از مدل مجوز و تکیه بر این مرز، معنی متناظر دارد. موارد مدل مجوز را نمی توان همه به عنوان شبکه RCE توصیف کرد که نیازی به احراز هویت ندارد. S7
خاتمه موقت HTTP/2 در یک پراکسی جداگانه و به روز شده و محدود کردن منابع باطن یک گزینه استقرار برای کاهش نوردهی است. سهمیه های منابع فقط می توانند پیامدهای فرسودگی منابع را کنترل کنند و نمی توانند UAF را اصلاح کنند.
3.4 اکتبر React / Next.js: دو مورد RCE و یک مورد DoS
A. RCE در RSC / use cache توابع آرایههای تایپشده را برمیگرداند
تاریخ عمومی: 2026-10-14; Critical، CVSS 4.0 9.5. شناسه های مشاوره رسمی:
را React موضوع بالادست شامل آرایههای تایپشده چندگانه همراه با مقادیر قابل کنترل توسط مهاجم است RSC پاسخ این سه متاثر شدند react-server-dom-* نسخه های بسته هستند 19.0.0 — 19.0.8 , 19.1.0 — 19.1.9 , 19.2.0 — 19.2.8 , 19.3.0 ; بخش را ببینید 2.1. سمت مرورگر خالص React ، یا برنامه هایی که از چارچوب ها/افزونه های پشتیبانی کننده استفاده نمی کنند RSC به هیچ وجه در محدوده این مورد قرار نگیرید. S10
Next.js لیست های اعلامی پایین دستی 16.0.0 — 16.4.0 ، تجدید نظر شده در 16.4.1 ; سناریو این است App Router , Cache Components ، و use cache توابعی که چندین آرایه تایپ شده را برمی گرداند. هیچ راه حل رسمی قابل اعتمادی وجود ندارد و کاربران نسخه های آسیب دیده باید به موقع آن را ارتقا دهند. برای پایان دادن به پردازش، صرفاً به جستجوهای دستی برای “به نظر نمی رسد این عملکرد وجود داشته باشد” تکیه کنید مناسب نیست. S9
مرجع: B. SVG Image Optimization RCE
CVE-2026-96889/GHSA-2464-fhr4-w9xw، 2026-10-14، Critical، CVSS 4.0 9.5. مشکل در کتابخانه بومی بالادستی که برای بهینه سازی تصویر استفاده می شود رخ می دهد. مقامات اشاره کردند که خطر RCE در سناریوی glibc Linux وجود دارد. S11
فیلدهای نسخه رسمی عبارتند از:
>=10.0.0 <=15.5.27;>16.0.0 <=16.4.0。
این مقام رسمی از یک کران پایینی دقیق >16.0.0 برای شاخه 16.x استفاده می کند، اما این بیانیه محدوده برای اثبات ایمن بودن 16.0.0 کافی نیست. هدف ارتقاء واقعی به طور یکسان 15.5.28 / 16.4.1 است. S11
راه حل موقت رسمی این است که اطمینان حاصل شود که Next واقعاً ≥0.35.5 را بارگیری می کند. فایلهای قفل، وابستگیهای تودرتو، و تصاویر استقرار ممکن است همچنان نمونههای قدیمی را نگه دارند، بنابراین فقط افزودن یک نسخه جدید از وابستگی sharp در سطح بالا کافی نیست، درخت وابستگی نهایی باید بررسی و بازسازی شود. S11
C. Server Actions CPU خسته شد
GHSA-p3m5-59mp-jv5r , 2026-10-14, High , CVSS 4.0 8.2 . Next تاثیر می گذارد 13.0.0 — 15.5.27 , 16.0.0 — 16.4.0 ، رفع می کند 15.5.28 / 16.4.1 . شرایط هستند App Router و حداقل یکی Server Action ; درخواست های مخرب می توانند حفظ شوند CPU برای مدت طولانی اشغال شده است و درخواست های بعدی را در همان فرآیند مسدود می کند. برنامه های کاربردی با Pages Router یا بدون Server Actions تحت تأثیر این موضوع قرار نمی گیرند. S12
هیچ راه حل رسمی وجود ندارد که بتواند جایگزین ارتقاء شود. محدودیتهای نرخ، محدودیتهای همزمانی و سهمیههای منابع میتوانند آسیب را کاهش دهند، اما نمیتوانند به عنوان نتیجهای برای تأیید وصله استفاده شوند.
3.5 قبلی Next.js در همان پنجره مشکل جدی
موارد زیر برای جلوگیری از استقرارهای از دست رفته که هنوز در نسخه های قبل از اوت-سپتامبر باقی مانده اند، در نظر گرفته شده است. توصیه نمی شود که اکنون فقط به آستانه های ثابت قدیمی در جدول بروید.
| تاریخ | شناسه / سناریو | اصلاح اول؛ اقدام فعلی |
|---|---|---|
| 2026-08-25 | GHSA-2xp9-vwfh-vxw4: AVIF بهینه سازی تصویر کتابخانه بومی RCE، Critical | 15.5.24 / 16.3.3; اکنون 15.5.28 / 16.4.1 S13 |
| 2026-08-25 | CVE-2026-75604: RCE، Critical زمانی که Pages Router و App Router به طور همزمان در Windows استفاده می شوند و Cache Components فعال نیست. نسخه های >=13.4.0 <15.5.24، >=16.0.0 <16.3.3 | 15.5.24 / 16.3.3; Linux/macOS تحت تأثیر این مشکل خاص Windows قرار نمیگیرد S14 |
| 2026-09-22 | GHSA-vcvr-r3jv-pc5j: مسیر تولید تصویر Node در next/og غیرقابل اعتماد SVG، Critical را پردازش می کند. 16.2.0—16.3.5 | 16.3.6; پیاده سازی Edge خارج از محدوده این موضوع است و 15.x یک شاخه آسیب دیده برای این RCE S15 نیست |
4. اکوسیستم Java: اعتماد زمان اجرا، کانتینرها و چارچوب ها به طور جداگانه مدیریت می شوند
4.1 JDK: CPU و CVE-2026-91403 معمولی بهروزرسانیهای دو لایه هستند
را Java SE ماتریس ریسک برای Oracle CPU در لیست های 20 اکتبر 55 وصله امنیتی جدید، 49 مورد از آنها به عنوان قابل بهره برداری در شبکه بدون احراز هویت علامت گذاری شده اند. . این بدان معنا نیست که 55 عدد وجود دارد Critical و همچنین به این معنی نیست که 49 مورد به طور مستقیم قابل بهره برداری هستند RCE مسیرها برای هر کدام Java وب سرویس؛ باید در ارتباط با اجزاء، APIها، تعاملات کاربر و شرایط استقرار در ماتریس درک شود. S16
روز بعد CVE-2026-91403 (CVSS 3.1 9.1) با نوع دیگری از ریسک سروکار دارد: مجموعه ای از CA میانی مربوط به رویداد eMudhra که دیگر قابل اعتماد نیست. این امر بر احراز هویت همتایان TLS و محرمانه بودن/یکپارچگی ارتباطات تأثیر می گذارد و نمی توان آن را به عنوان آسیب پذیری تخریب حافظه JVM توصیف کرد. S17
مشاوره Oracle نسخه منتشر شده در 20 اکتبر را تحت تأثیر قرار می دهد، بنابراین به روز رسانی خارج از باند در 21 اکتبر نیز باید نصب شود. برای نسخه خاص به بخش 2.2 مراجعه کنید. GraalVM همچنین دارای محصولات تحت تأثیر متناظر است و نسخه ثابت باید تابع بولتن امنیتی انحصاری آن باشد. S17S18
اقدامات رسمی موقت: ابتدا یک نسخه پشتیبان تهیه کنید و سپس گواهی ریشه مشخص شده را از هر Truststore استفاده شده حذف کنید:
emSign ECC Root CA - G3، Oracle نام مستعارemsigneccrootcag3 [jdk].AAA Certificate Services، Oracle نام مستعارcomodoaaaca [jdk]. S19
JDK 11 و بالاتر، مثال رسمی این است:
keytool -delete -cacerts -alias "emsigneccrootcag3 [jdk]"
keytool -delete -cacerts -alias "comodoaaaca [jdk]"
از keytool از هدف JDK برای این دستورات استفاده کنید و تأیید کنید که آنها در فروشگاه اعتماد واقعی برنامه کار می کنند. Java 8 از مسیر مربوط به jre/lib/security/cacerts استفاده می کند. سفارشی کردن Truststore باید به طور جداگانه انجام شود و سایر ناشران ممکن است نام مستعار متفاوتی داشته باشند. حذف گواهی ریشه دامنه رد را گسترش می دهد و زنجیره های گواهی خدمات قانونی را آزمایش رگرسیون می کند. S19
این مقام همچنین گزینه ای را برای فعال کردن بررسی ابطال ارائه می دهد، اما تأثیر آن به اجرای واقعی TLS، دسترسی به سرویس لغو و استراتژی خرابی بستگی دارد. برای استقرارهای عمومی، نصب بهروزرسانیهای کامل فروشنده را در اولویت قرار دهید تا از دو سوئیچ JVM به عنوان شواهدی مبنی بر رفع مشکل تمامی کتابخانههای TLS اجتناب کنید.
4.2 Tomcat: دور زدن احراز هویت و جداسازی درخواست بین کاربر
سه مورد زیر در 2026-10-20 منتشر شد. ورودی نسخه تعمیر شده دارای تاریخ اکتبر 12 است. درجه رسمی Apache Important است. S21S22S23
| CVE | نسخه های تحت تأثیر تأیید شده است | سناریوها/نتایج ضروری |
|---|---|---|
| CVE-2026-101296 | 9.0.0.M1—9.0.122;10.1.0-M1—10.1.60;11.0.0-M1—11.0.26 | JNDIRealm مکانیزم احراز هویت غیر GSSAPI SASL را پیکربندی میکند، تأیید اعتبار وجود ندارد و رمزهای عبور نادرست نیز ممکن است عبور کنند. |
| CVE-2026-101356 | 9.0.118—9.0.122;10.1.55—10.1.60;11.0.22—11.0.26 | خطای Servlet ناهمزمان HTTP/2 در مدیریت نادرست اشیاء را بازیافت/استفاده مجدد می کند و باعث می شود درخواست ها یا پاسخ ها بین کاربران مخلوط شود. |
| CVE-2026-103119 | فقط 11.0.0-M25—11.0.26 را تأیید کنید | نوشتههای غیرمسدود بزرگ AJP میتوانند باعث کمخوانی بافر شوند و دادههای پاسخ قبلی را در درخواستهای بعدی نمایان کنند. |
رفع مربوطه 9.0.123 / 10.1.61 / 11.0.27 است. AJP طبق اعلامیه فقط به عنوان Tomcat 11 فهرست شده است و با همین مشکل نمی توان آن را به سه شعبه گسترش داد. S21S22S23
وصله JNDIRealm یک شکاف تأیید در فرآیند احراز هویت واقعی را برطرف می کند، جایی که «رابط ورود به برنامه نرمال به نظر می رسد» نمی تواند به جای تأیید استفاده شود. مکانیسمهای حوزه، SASL باید برای پیکربندی واقعی سرویس بررسی شوند و آزمایشها برای رمزهای عبور نادرست با شکست مواجه شوند. S24
پیشنهادات اجرای موقت: مسیر احراز هویت آسیب دیده را ایزوله کنید. تعلیق پردازش HTTP/2 از Tomcat در صورت اجازه کسب و کار. بستن AJP بی فایده. فقط محدود کردن دسترسی مستقیم به پورت AJP نمی تواند ثابت کند که ترافیک ورودی از طریق پروکسی قانونی جلویی تحت تأثیر قرار نخواهد گرفت. پس از بهروزرسانی رسمی، درخواستهای همزمان ناهمزمان از دو کاربر مستقل باید آزمایش شوند تا تأیید شود که هیچ گفتگوی متقابلی بین هویتها و پاسخها وجود ندارد.
مرجع: 4.3 Spring for GraphQL:CVE-2026-59285
تاریخ عمومی: 2026-08-20; High. تحت تأثیر 2.0.0—2.0.4، تعمیر 2.0.5 (OSS) یا 2.0.4.1 (پشتیبانی تجاری). S25
این یک خطر غیرایمنزدایی در جستارهای صفحهبندی است. الزام رسمی این است که شرایط زیر باید همزمان رعایت شود:
- از Spring for GraphQL استفاده کنید.
- JSON را با استفاده از Jackson 2.x از حالت سریال خارج کنید.
- زمینه صفحهبندی اتصال را به دنیای خارج ارائه دهید.
- مسیر کلاس شامل کلاسهای خاصی است که میتوانند منطق غیرمنتظرهای را در طول نمونهسازی یا deserialization انجام دهند.
یک درخواست مخرب GraphQL ممکن است در صورت برآورده شدن شرایط باعث ایجاد RCE شود. نمی توان آن را به “همه برنامه های Java با استفاده از جکسون قابل سوء استفاده قرار داد” کاهش داد. S25
چرا 2.0.4 ناکافی است: در ماه ژوئن، CVE-2026-41699 خطوط پایه وصلهای مانند 2.0.4 ارائه کرده بود، و در ماه آگوست اعلامیه به وضوح 2.0.4 را بهطور واضح در اختیار داشت. بنابراین، سابقه تعمیر باید طبق اطلاعیه های بعدی به روز شود و حداقل نسخه قدیمی CVE قابل استفاده نیست. S26
هنگامی که ارتقا به طور موقت در دسترس نیست، زمینه های صفحه بندی آسیب دیده قابل دسترسی برای تماس گیرندگان غیرقابل اعتماد را می توان به حالت تعلیق در آورد. محدود کردن انواع غیرمستقیم و مسیرهای کلاس یک اندازه گیری عمیق است. رگرسیون ها باید نشانگرهای قانونی، نتایج صفحه بندی شده، و رد ورودی های استثنا را پوشش دهند و نسخه های مؤلفه واقعی را در برنامه نهایی JAR بررسی کنند.
4.4 Spring Security: CVE-2026-59270 و خطرات مربوط به احراز هویت
CVE-2026-59270، 2026-08-20، Critical. تعبیه شده UnboundIdContainer اعتبارنامه مدیر شناخته شده را به طور پیش فرض ثبت می کند و به تمام رابط های شبکه گوش می دهد. وقتی کامپوننت فعال است و پورت قابل دسترسی است، مهاجم می تواند داده های دایرکتوری را بخواند یا تغییر دهد. پروژه هایی که به طور کلی Spring Security را معرفی می کنند، به طور خودکار LDAP را نشان نمی دهند. S27
منطقه آسیب دیده:
| شاخه | تحت تاثیر قرار گرفته است | اولین کانال رفع/کسب |
|---|---|---|
| 7.1 | 7.1.0 | 7.1.1 OSS; همچنین تجاری 7.1.0.1 |
| 7.0 | 7.0.0—7.0.6 | 7.0.7 OSS; همچنین تجاری 7.0.6.1 |
| 6.5 / 6.4 | 6.5.0—6.5.11;6.4.0—6.4.18 | 6.5.12/6.4.19، تجاری |
| 5.8 / 5.7 | 5.8.0—5.8.27;5.7.0—5.7.25 | 5.8.28/5.7.26، تجاری |
منبع: S27. عیب یابی پیکربندی خودکار spring.ldap.embedded.* و کد نمونه سازی مستقیم؛ هنگامی که کامپوننت برای تولید مورد نیاز نیست، آن را ببندید و آدرس واقعی گوش دادن را بررسی کنید. وقتی کسب و کار واقعاً به آن نیاز دارد، ابتدا منابع تماس را محدود کنید و سپس ارتقاء مؤلفه را کامل کنید.
مشکل احراز هویت مرتبط: CVE-2026-47841 ( High ). WebAuthn احراز هویت کاربر روی تنظیم شده است REQUIRED ، و بعد از HTTP جلسه توسط فضای ذخیره سازی توزیع شده سریال می شود، مقایسه هویت شیء نادرست ممکن است نیاز احراز هویت را باطل کند. حمله همچنین مستلزم آن است که مهاجم دستگاه احراز هویت کاربر را در اختیار داشته باشد، نه ورود خودسرانه از راه دور بدون دستگاه. برای نسخه های مربوطه تحت تأثیر 7.1 , 7.0 , 6.5 ، و 6.4 ، خط پایه وصله با این شاخه ها در جدول بالا مطابقت دارد. تأیید باید جلسات متقابل گره را پوشش دهد و همچنان به تأیید پین/بیومتریک نیاز دارد. S28
5. اکوسیستم Python: مفسر، کتابخانه استاندارد، چارچوب و گواهینامه ها
5.1 CVE-2026-19445: SSLContext UAF در پاسخ تماس SNI
تاریخ انتشار: 30/09/2026; سطح PSF: Critical. در سرور Python TLS، sni_callback اتصال را به SSLContext دیگری سوئیچ میکند، و زمانی که دیگر زمینههای اصلی وجود نداشته باشد. سرویس گیرنده TLS ممکن است سرویس را خراب کند یا یک اشاره گر را در یک شی آزاد شده فراخوانی کند. S29
هسته اصلی این است که شی Python با چرخه حیات بازگشت به تماس TLS ناسازگار است. زمینه اصلی آزاد شده است، و لایه زیرین ممکن است همچنان وضعیت مورد نیاز برای تماس را حفظ کند. برای اصلاح چرخه حیات مرجع باید از پچ بومی مفسر استفاده شود. S47
Scope: کد Python که فقط به عنوان یک مشتری TLS عمل می کند تحت تأثیر این مورد قرار نمی گیرد. حالت عادی سوکت شنود که زمینه اصلی را برای مدت طولانی نگه میدارد در مسیر خرابی خاصی که در اعلامیه توضیح داده شده است قرار نمیگیرد. بعد از اینکه Nginx به TLS خاتمه داد، فقط HTTP محلی را به Python میدهد و Python مستقیماً SNI را به تنهایی کنترل میکند، که یک سطح حمله متفاوت است. S29
مربوط به نسخه ثابت 3.10—3.14، به بخش 2.3. مراجعه کنید. نسخه رسمی 3.15 تعمیر شده است و 3.15.1 در واقع می تواند انتخاب شود. فقط بهروزرسانی وابستگی pip نمیتواند جایگزین پیادهسازی _ssl مفسر شود. S33S35S47
تخفیف موقت رسمی: ارجاعات قوی به تمام SSLContext که تماس برگشتی SNI را تا پایان چرخه عمر سرور تنظیم کرده اند حفظ می کند. این نیاز به پوشش واقعی ایجاد پویا و مسیرهای سوئیچینگ دارد. ساخت سفارشی OpenSSL 1.1.1 همچنین باید شرایط مذاکره مجدد را در ارتباط با سابقه رسمی موضوع بررسی کند و بهروزرسانیهای کامل را در اولویت قرار دهد. S29S47
5.2 CVE-2026-19553: پرچم میزبان روشن است، اما نام میزبان در هنگام تماس وجود ندارد
تاریخ عمومی: 2026-09-30; High. وقتیSSLContext.check_hostname=True، اگر wrap_bio() در server_hostname ارسال نشود، اجرای اصلی ممکن است بهصدا تأیید نام میزبان را رد کند. تأیید موفقیت آمیز زنجیره گواهی به این معنی نیست که نام دامنه هدف نیز مطابقت داشته باشد. S30
اصلاح به هر دو مرحله نیاز دارد:
- نسخه امنیتی مترجم فهرست شده در بخش 2.3. را نصب کنید
- مسیرهای
wrap_bio()مربوط بهasyncio.create_connection()/loop.start_tls()را بررسی کنید، نام میزبان مورد انتظار و غیرخالی را به صراحت وارد کنید و تأیید گواهی را روشن نگه دارید. S30
**تفاوتهای سازگاری که نمیتوان حذف کرد:**3.10، 3.11، 3.12 برای سازگاری هستند، فقط DeprecationWarning برای برخی موارد که نام میزبان وجود ندارد صادر میشود. 3.13 و بعداً ValueError را افزایش دهید. پسپورت 3.12 همچنین None را به وضوح از رشتههای خالی متمایز میکند: یک هشدار جدید برای None اضافه شده است، و یک خطا همچنان برای رشتههای خالی گزارش میشود. بنابراین، کاربران با شاخههای پایین نمیتوانند فرض کنند که راستیآزمایی نام دامنه اولیه گمشده بهطور خودکار صرفاً با ارتقاء بازیابی شده است. S31S33
در یک محیط آزمایشی، از یک گواهی زنجیره اعتماد با نام میزبان نامتناسب استفاده کنید و تأیید کنید که برنامه کاربردی واقعی TLS آن را رد کرده است. صرف خواندن مقدار بولی check_hostname به منزله پذیرش کامل نیست.
5.3 CVE-2026-82049: بای پس ترکیبی پیوند در فیلتر tarfile
تاریخ عمومی: 2026-09-14; High . در CPython 3.13 و پیاده سازی های قبلی مرتبط، ترکیب پیوندهای سخت و پیوندهای نمادین در تار نامعتبر می تواند از data / tar فیلتر استخراج، افشای محتویات فایلها در خارج از فهرست باز کردن بستهبندی در درخت باز کردن بستهبندی، یا تغییر مجوزها و زمانهای اصلاح آنها. S32
اثرات تایید شده این آسیب پذیری شامل قرار گرفتن در معرض محتوای فایل و اصلاح ابرداده است. این تأثیرات به تنهایی برای نشان دادن بازنویسی دلخواه محتوای فایل خارجی یا اجرای بی قید و شرط RCE کافی نیست.
برای خطوط پایه پچ مربوطه از 3.10 — 3.13 ، بخش را ببینید 2.3. Python 3.14 از این موضوع خاص مستثنی شده است os.link() رفتار از آن زمان تغییر می کند 3.14.0b1 ، بنابراین دامنه تحت تاثیر قرار 3.10 — 3.13 شاخه فوق اعمال نمی شود. S33
اقدامات موقت و عمیق: استخراج خودکار آرشیوهای نامعتبر را به حالت تعلیق درآورد. هنگامی که کسب و کار باید پردازش شود، از فرآیندهای کارگری جدا شده با امتیاز پایین و دایرکتوری های انحصاری جدید استفاده کنید، پیوندهای نمادین، پیوندهای سخت و ورودی های دستگاه را توسط تجارت رد کنید، و تعداد فایل ها و منابع رفع فشرده سازی را محدود کنید. اینها توصیه های استقرار هستند.
filter="data" برای آرشیوهای عمومی غیرقابل اعتماد بیشتر از استراتژی اعتماد کامل مناسب است، اما خود فیلتر نسخه قدیمی نیز این آسیب پذیری را دارد و افزودن این پارامتر به تنهایی نمی تواند جایگزین به روز رسانی شود. فیلتر همچنین یک جعبه سند کامل سیستم فایل نیست. S32S45
خطر تکمیلی 5.4: CVE-2026-114583 (Medium) و وضعیت انتشار پچ
PSF در 2026-10-22 فاش شده است که پردازش tarfile.tar_filter از نام پیوندهای خاص را می توان دور زد و به اعضای بعدی اجازه می دهد خارج از فهرست باز کردن بسته بندی، با سطحی از Medium. تعمیر رسمی PR در آن روز ادغام شد. از تاریخ 23 اکتبر 2026، هیچ نسخه تعمیر و نگهداری رسمی حاوی این تعهد تایید نشده است. S40
بنابراین:
- این مورد به طور جداگانه به عنوان Medium فهرست شده است.
- نسخه های مترجم منتشر شده در 21 اکتبر را نمی توان در نظر گرفت که شامل این اصلاح شده است.
- فرآیندی که همچنان از
filter="tar"برای مدیریت بایگانیهای غیرقابل اعتماد استفاده میکند، باید بکپورت انتشار را دنبال کند. این مسیر پردازش را برای مدت کوتاهی جدا کرده یا به حالت تعلیق درآورید. هنگام تغییر بهdataو رد کردن پیوندها، باید تأیید کنید که الزامات تجاری را برآورده می کند و تغییر فیلتر را نمی توان به عنوان جعبه ایمنی بدون قید و شرط توصیف کرد.
5.5 GeoDjango: CVE-2026-15307 و اصلاحات بعدی در اکتبر
جستجوی فضایی 2026-08-04، Django رسمی High. بطور ضمنی رشتهها/فرهنگهای خاصی را به GDALRaster ارسال میکند و درایور شبکه initi ممکن است فایلهایی را بنویسد. RCE ممکن است زمانی تشکیل شود که مسیرهای خاصی و شرایط اجرای بعدی وجود داشته باشد. کارکنان دارای مجوزهای مشاهده مدل میدان فضایی نیز ممکن است از طریق لیست تغییرات مدیریت به این مسیر دسترسی داشته باشند. S38
راه حل اولیه 5.2.17 / 6.0.8 است که انواع ورودی پذیرفته شده توسط جستجوهای فضایی را محدود می کند. این تغییر ممکن است بر تجارت اصلی استفاده از رشته/فرهنگ برای بیان شطرنجی تأثیر بگذارد. صرف بسته بندی ورودی نامعتبر در GDALRaster به معنای تأیید آن نیست. S38
در 6 اکتبر، CVE-2026-87890 (متوسط) تعمیر شد: VRT بیان شده در بایت می تواند به منابع خارجی اشاره کند و همچنان درخواست های شبکه را راه اندازی می کند. در همان روز، هندسه تودرتو DoS حفاظت از CVE-2026-15830 نیز تقویت شد. دو مورد اخیر را نمی توان برای توصیف ریسک بالا ارتقا داد RCE ، اما نشان دهید که خط پایه استقرار باید باشد 5.2.18 / 6.0.9 / 6.1.2 . S39
پیاده سازی دو نقطه ورودی API و رابط مدیریت را بررسی می کند، جستجوی فضایی نامعتبر، مجوزهای نوشتن فایل و دسترسی خروجی را محدود می کند. پس از به روز رسانی، پرس و جوهای مکانی معتبر آزمون رگرسیون و رد ورودی ممنوعه. برنامه های معمولی Django که از GeoDjango استفاده نمی کنند نباید مستقیماً این نتیجه گیری RCE را اعمال کنند.
5.6 certifi / pip: اعتبار گواهی باید هر کپی را پوشش دهد
GHSA-6q48-6c7w-9gw2 , 2026-10-20, Critical ، شناخته شده است CVE فهرست نشده است. این به روز رسانی بی اعتمادی گواهی است که توسط eMudhra متوسط CA حادثه نمی توان آن را به عنوان مکانیزم رمزنگاری HTTPS یا اینکه تمام گواهی های ریشه کرک شده اند خلاصه کرد. S36
مشاوره certifi در ابتدا 2026.10.18 را به عنوان یک پچ ذکر کرده است. PSF بعداً به صراحت 2026.10.19 را برای حفظ سازگاری با گواهیهای ریشه بیتأثیر توصیه کرد. خط پایه عملیاتی .19 است. S36S37
نیاز به تمایز:
| به مکان مواد اعتماد کنید | چرا باید جداگانه بررسی کنید |
|---|---|
| سیستم عامل بسته CA | مواد اعتماد سیستم برای تصویر یا میزبان |
| certifi در venv | CA bundle در واقع توسط برنامه ها یا درخواست ها و غیره استفاده می شود. |
| pip داخلی certifi | یک کپی متفاوت از certifi نصب شده خارجی است |
| uv / سایر ابزارهای بسته بندی | به روز رسانی های خود ابزار و منابع قابل اعتماد را دنبال کنید |
| فایل های سفارشی CA، عکس های فوری بسته بندی شده | ممکن است به نادیده گرفتن منابع مورد اعتماد پیشفرض برای سیستمها یا بستهها ادامه دهد |
موارد فوق یک چک لیست بر اساس مکان های مختلف بسته بندی است. PSF به به روز رسانی ابزارهای مرتبط، محیط های مجازی موجود و بازسازی تصویر نیاز دارد. فقط به روز رسانی میزبان CA یا نصب مجدد مفسر نمی تواند ثابت کند که همه نسخه ها به روز شده اند. S35S37
هنگام ارتقاء از بوت استرپ امن pip، PSF دستورات مربوط به چرخ ثابت و SHA-256 را ارائه می دهد، به پیوست S37 مراجعه کنید. تأیید TLS را خاموش نکنید یا --trusted-host را برای دور زدن مشکلات گواهی اضافه نکنید.
6. فرآیند رسمی اصلاح
دستورات زیر برای محیط های قابل اعتماد تایید شده هستند. هنگام اجرا، مدیر بسته موجود، فایل قفل و فرآیند استقرار پروژه باید با هم ترکیب شوند تا از اختلاط npm/pnpm/yarn یا pip/uv/Poetry برای ایجاد فایلهای قفل متضاد جلوگیری شود.
ابتدا یک استثنا را مدیریت کنید: اگر مشکوک هستید که محیط بسته به خطر افتاده در بخش 9 را اجرا کرده است، ابتدا آن را ایزوله کنید و دیسک، فایل قفل و رکورد تصویر را از یک محیط تمیز بررسی کنید. ابتدا دستور Python/pip زیر را اجرا نکنید. S41
6.1 یک دفتر کل ایجاد کنید که بتواند با ترافیک واقعی مطابقت داشته باشد
هر سرویس حداقل موارد زیر را ثبت می کند:
- نقطه ورودی خارجی، پروکسی معکوس، مسیر اتصال مستقیم به سایت مبدا، و صف پسزمینه/ وظایف برنامهریزیشده.
- فرمان واقعی راه اندازی، حساب در حال اجرا، مسیر باینری، فرآیند یا هویت کانتینر.
- نسخه کامل زمان اجرا، ناشر/مخزن، نسخه کامل بسته، یا خلاصه تصویر.
- وابستگی های چارچوب و انتقالی، قفل کردن فایل ها، کتابخانه های بومی و مسیرهای ذخیره اعتماد.
- مربوط به وجود شرایط آسیبپذیری، هدف وصله، محدوده راهاندازی مجدد، فرد مسئول و نتیجه تأیید.
ماشینهای توسعه، اجراکنندههای CI، کانتینرهای ساخت و وظایف پسزمینه نیز باید بر اساس مسیرهایشان به محتوای نامعتبر بررسی شوند. فقط کانتینر وب عمومی را به روز نکنید.
6.2 Node.js: ابتدا زمان اجرا را تعیین کنید، سپس وابستگی های برنامه را به روز کنید
بررسی در محیط خدمات واقعی:
node -p 'JSON.stringify({execPath:process.execPath,node:process.version,openssl:process.versions.openssl,brotli:process.versions.brotli},null,2)'
npm ls next react react-dom react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack sharp --all
npm audit --omit=dev
node -p باید با استفاده از فایل اجرایی واقعی سرویس یا درون یک کانتینر واقعی اجرا شود. فرآیندهای تازه راه اندازی شده را بررسی می کند و خود ثابت نمی کند که کارگر قدیمی جایگزین شده است. Node میتواند وصله را به Brotli داخلی اضافه کند و در عین حال رشته نسخه اصلی کتابخانه را حفظ کند. بنابراین، برای تعیین اینکه آیا تعمیر شده است یا خیر، فقط به process.versions.brotli اعتماد نکنید. باید آن را با نسخه امنیتی Node یا مدارک پشتیبان فروشنده ترکیب کنید. S2S4
npm ls برای دیدن درخت وابستگی واقعی استفاده می شود. بستههای از دست رفته یا تداخل همتایان نیز ممکن است کدهای خروجی غیر صفر تولید کنند، بنابراین باید خروجی خاص را بخوانید. npm audit به عنوان کمک بررسی وابستگی استفاده می شود و نمی تواند جایگزین Node باینری و بررسی کتابخانه بومی شود.
برای مدیریت محیط Node 24ازmise استفاده کنید که به صورت زیر قابل به روز رسانی است:
mise use -g [email protected]
mise exec [email protected] -- node -p 'process.version + " " + process.execPath'
mise use -g نسخه جهانی را پیکربندی می کند. پیکربندی محلی پروژه هنوز باید به طور جداگانه بررسی شود. اگر سرویس مسیر مطلق قدیمی، تصویر پایه کانتینر یا محیط حساب دیگری را ثابت کرده باشد، پیکربندی مربوطه باید بهروزرسانی شود و سرویس باید دوباره راهاندازی شود. خود دستور جایگزین یک فرآیند در حال اجرا قدیمی نمی شود. S43
در پروژه Next دستور مربوطه را مطابق شاخه انتخاب شده اجرا کنید. برای Next 15:
# Next 15 分支
npm install --save-exact [email protected]
برای Next 16:
# Next 16 分支
npm install --save-exact [email protected]
وابستگی های سازگار با React/RSC، قفل کردن فایل ها و نمونه شارپ نهایی را بررسی کنید و سپس طبق روند پروژه بسازید. از فایل قفل به روز شده در CI برای نصب قابل تکرار استفاده کنید و نسخه را در تصویر در حال اجرا پس از ساخت بررسی کنید. از تعمیر خودکار کنترل نشده در نسخه های اصلی به عنوان راه حل پیش فرض برای این اضطراری استفاده نکنید.
6.3 Java: تأیید ناشر، JVM واقعی و اجزای جاسازی شده
موجودی اولیه:
java -XshowSettings:properties -version
java.home، java.runtime.version و ناشر در خروجی باید با JVM که واقعاً توسط سرویس استفاده میشود، تراز شوند. برای JVM با مجوز پیوست، jcmd از JDK میتواند برای بررسی فرآیند هدف، نه فقط پوسته ورود به سیستم استفاده شود.
وابستگی ها را در پروژه های قابل اعتماد بررسی کنید و بر اساس ابزارهای ساخت واقعی انتخاب کنید:
./mvnw dependency:tree '-Dincludes=org.apache.tomcat.embed:*,org.springframework.security:*,org.springframework.graphql:*'
./gradlew dependencyInsight --dependency tomcat-embed-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-security-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-graphql --configuration runtimeClasspath
این دستورات ساخت ممکن است پلاگین ها را اجرا کنند و وابستگی ها را به صورت آنلاین حل کنند و فقط روی پروژه های قابل اعتماد اجرا شوند. JAR/WAR نهایی یا JAR واقعی موجود در تصویر را بررسی کنید و اعلانهای فایل ساخت را جایگزین آرتیفکت نهایی نکنید. Spring بوت تعبیه شده Tomcat نیاز به بازسازی برنامه دارد. به روز رسانی یک نصب جداگانه Tomcat در سیستم، کپی را در بسته برنامه تغییر نمی دهد.
پس از بهروزرسانی زمان اجرا، javax.net.ssl.trustStore سفارشیشده، KeyStore بارگذاری شده توسط برنامه، زمان اجرا jlink، تصویر GraalVM/native و سایر فرمهای تحویل را مورد به مورد بررسی کنید. برنامههایی که قبلاً دارای مواد اعتماد سفارشیسازی شدهاند، نمیتوانند فقط به این دلیل که فهرست راهنمای JDK جدید شده است، به بررسی پایان دهند.
6.4 Python: مترجم به مترجم و پردازش محیط مجازی
در venv/کانتینر واقعی تایید شده که قابل اعتماد است:
python - <<'PY'
import sys
import ssl
import importlib.metadata as metadata
print("executable:", sys.executable)
print("version:", sys.version)
print("openssl:", ssl.OPENSSL_VERSION)
print("verify_paths:", ssl.get_default_verify_paths())
for name in ("pip", "certifi", "Django", "urllib3", "Brotli", "litellm"):
try:
print(name + ":", metadata.version(name))
except metadata.PackageNotFoundError:
print(name + ": not installed")
PY
python -m pip --version
python -m pip check
این اسکریپت فقط اطلاعات را جمع آوری می کند و تعیین صلاحیت نسخه را انجام نمی دهد. ssl.get_default_verify_paths() اطلاعات مسیر پیشفرض است و نمیتواند ثابت کند که همه مشتریان شخص ثالث از یک فروشگاه اعتماد استفاده میکنند. باید بر اساس پیکربندی برنامه تایید شود.
پس از تکمیل ارتقای قابل اعتماد بوت pip پیوست S37، وابستگی های گواهی را با توجه به محدودیت های پروژه به روز کنید، به عنوان مثال:
python -m pip install --upgrade 'certifi>=2026.10.19'
# 仅适用于当前就选择 Django 5.2 的项目
python -m pip install --upgrade 'Django>=5.2.18,<5.3'
python -m pip check
فایل مورد نیاز/قفل پروژه باید همزمان به روز شود، در غیر این صورت استقرار بعدی ممکن است به نسخه قدیمی بازگردد. هنگام استفاده از uv، Poetry، یا یک مخزن بسته سازمانی، از فرآیندهای قفل و انتشار موجود آنها استفاده کنید. بسته ها را فقط در ظرف تولید به صورت دستی تغییر ندهید.
گردش کار موجود پروژه pip-audit می تواند برای بررسی آسیب پذیری های وابستگی شناخته شده در یک محیط قابل اعتماد استفاده شود. این یک اسکنر کد مخرب نیست و تمام خطرات مفسر، کتابخانه سیستم و ذخیره اعتماد را پوشش نمی دهد. S44
اجبار کردن سیستم توصیه نمی شود /usr/bin/python3 برای اشاره به یک نسخه کامپایل شده جدید. از بهروزرسانیهای امنیتی انتشار یا زمانهای اجرا جداسازی پروژه برای جلوگیری از شکستن ابزارهای مدیریتی که به سیستم متکی هستند، استفاده کنید Python . این یک انتخاب پیاده سازی است و یک نیاز اضافی برای رفع این آسیب پذیری نیست.
6.5 نمونه در حال اجرا را بازسازی و جایگزین کنید
توصیه می شود مراحل زیر را به عنوان یک تغییر کامل انجام دهید:
- پچ را از منبع معتبر اصلی دریافت کنید و نسخه/هش و قفل وابستگی را ذخیره کنید.
- عملکردهای کلیدی را در یک محیط نزدیک به تولید برگردانید و تأیید کنید که برنامههای افزودنی بومی با JVM/چارچوب سازگار هستند.
- زمان اجرا، وابستگی های برنامه و فروشگاه اعتماد واقعی را به روز کنید. تصویر پایه و سیستم CA را برای ظرف تازه کنید، فقط از لایه قدیمی استفاده مجدد نکنید.
- برنامهها و تصاویر را بازسازی کنید و نمونههای سرویس، کارگر، مصرفکننده صف و کارهای برنامهریزیشده را به صورت متوالی جایگزین کنید.
- نسخه و پیکربندی را در نمونه در حال اجرا جدید دوباره بررسی کنید و تأیید کنید که همه نسخههای قدیمی خارج شدهاند.
- نرخ خطا، تأخیر، CPU/حافظه، خرابی های دست دادن TLS و خرابی های فرآیند را مشاهده کنید.
بازگشت مجدد باید اولویت را به حفظ وابستگی های زمان اجرا و وصله ایمن و بازگرداندن پیکربندی برنامه یا تغییرات تجاری بدهد. اگر مجبور به بازگشت به یک محصول قدیمی با آسیبپذیری هستید، محدودیتهای ورود مربوطه باید به طور همزمان بازیابی شوند و فرد مسئول و حداقل دوره بازیابی باید به وضوح تعریف شوند.
7. کاهش موقت و انتخاب پچ
7.1 مرز پوشش اقدامات موقت
در ادامه پیشنهادات اجرایی بر اساس شرایط بهره برداری اعلام شده ارائه شده است. تا زمانی که طرح رسمی ذکر نشده باشد، فروشنده تضمین نمی کند که همه انواع می توانند به طور کامل مسدود شوند.
| خطر | اقدامات موقتی که می توان انجام داد | بخشی که بر این اساس نمی توان آن را کامل تلقی کرد |
|---|---|---|
| رمزگشایی Brotli | توقف رمزگشایی ورودی نامعتبر؛ فشرده سازی خودکار ورودی و خروجی را بررسی کنید | WAF ورودی یا خاموش کردن فشردهسازی پاسخ، همه ورودیهای رمزگشایی را پوشش نمیدهد S3 |
| Next.js typed arrays RCE | فوراً ارتقا دهید؛ در صورت لزوم خدمات آسیب دیده را به طور موقت ایزوله کنید | هیچ راه حل رسمی معتبر جهانی S9 وجود ندارد |
| Next.js SVG RCE | طرح رسمی: از تیز واقعی ≥0.35.5 اطمینان حاصل کنید. در صورت اجازه کسب و کار، نقاط ورودی بهینه سازی مربوطه را به حالت تعلیق درآورید | سایر مسائل Next/RSC S11 را پوشش نمی دهد |
| قلمرو Tomcat / HTTP/2 / AJP | مسیر مربوطه را جدا کرده و کانکتورهای غیر ضروری را ببندید | هنوز به بسته تعمیر شعبه مربوطه نیاز دارید S21S22S23 |
| GraphQL deserialization | تعلیق فیلدهای اتصال تحت تأثیر تماس گیرندگان غیرقابل اعتماد را محدود کنید | فقط محدودیت طول درخواست نمیتواند مشکل نوع/جداسازی S25 را برطرف کند |
| Spring embedded LDAP | غیرفعال کردن در صورت عدم نیاز؛ دسترسی پورت گوش دادن واقعی را محدود کنید | هویت پیشفرض مدیریتی و یکپارچگی فهرست همچنان باید بررسی شود S27 |
| CPython SNI UAF | برنامه رسمی: مرجع قوی SSLContext مربوطه را تا پایان سرویس حفظ کنید | تمام مسیرهای ایجاد/سوئیچ باید S29 پوشش داده شود |
| رد شدن از نام میزبان Python | راه حل رسمی: نام server_host مورد انتظار را به درستی ارسال کنید | نمی توان فقط پرچم check_hostname را بررسی کرد یا هشدار S30S31 را نادیده گرفت |
| تار غیر قابل اعتماد | غیرفعال کردن / قرنطینه استخراج، رد کردن لینک های غیر ضروری و ورودی های دستگاه | نه فیلترها و نه سهمیه منابع، جعبه های ماسه ای جهانی نیستند S32S40S45 |
| رویداد اعتماد گواهی | مواد صحیح CA را به روز کنید. اعتماد Java را می توان با توجه به کاهش رسمی محدود کرد | غیرفعال کردن تأیید TLS خطر را افزایش می دهد S19S37 |
7.2 پچ را بر اساس روش تحویل انتخاب کنید
| روش تحویل | اولویت بندی روش های تعمیر | شواهدی که باید حفظ شود |
|---|---|---|
| زمان اجرا با مدیریت توزیع | به روز رسانی های امنیتی مربوط به سازنده | نسخه کامل بسته، اطلاعیه، منبع مخزن |
| رسمی باینری/مدیر زمان اجرا | انتشار رسمی امنیتی از همان شعبه | نسخه، منبع و خلاصه، مسیر اجرای واقعی |
| خودکامپایل Node / CPython | انتشار منبع رسمی شعبه منطبق یا مجموعه پچ کامل فروشنده | Commit مجموعه، ساخت پارامترها، کتابخانه های وابسته و نتایج رگرسیون |
| Spring / Next / Django | سازگار با به روز رسانی های درون شعبه، بازسازی قفل های وابستگی و برنامه های نهایی | درخت وابستگی نهایی، نسخه واقعی در JAR/package/image |
| فروشگاه اعتماد سفارشی | طرح رسمی برداشت یا بهروزرسانی فروشنده که برداشت را تأیید میکند | مسیر استفاده واقعی، تغییر مواد، تست موفقیت و رد TLS |
| یک محیط در معرض خطر | بازسازی از محصولات تمیز و قابل اعتماد و انجام بررسی حوادث جداگانه | خلاصه تاریخی بسته/تصویر، سابقه نصب، سابقه چرخش اعتبار |
مکانیزم وصله کلید 7.3 و تمرکز بررسی
- Brotli: به این نکته توجه می کند که آیا بررسی مرز و بازگشت خطای وضعیت رمزگشایی بومی قبل از ورود به ساخت کامل است یا خیر. تنها جایگزینی بسته JavaScript نمی تواند کد کامپایل شده استاتیک به Node را تغییر دهد. S4
- Node DNS / TLS : بر روی رد ورودی، عادی سازی آدرس، تمایز بین تمرکز می کند IP SAN و DNS هویت ها، و DNS callback/Promise مسیر تجزیه و TLS تست تطبیق نام میزبان S5 S6
- Tomcat JNDIRealm : بر روی اینکه آیا فرآیند احراز هویت واقعاً اعتبارنامه ها را تأیید می کند یا خیر، به جای اینکه صرفاً یک زمینه دایرکتوری را بدست آورد، تمرکز می کند. اولویت دادن به نسخه رسمی و عدم استفاده از جایگزینی یک فایل منبع واحد به عنوان یک پچ باینری کامل. S24
- CPython ssl: بر مالکیت مرجع Python و چرخه عمر SSLContext زیربنایی تمرکز دارد.
wrap_bio()در حالی که دارای تفاوت های سازگاری با شعبه است، پشتیبان می گیرد و باید پیاده سازی واقعی شاخه مورد استفاده را بخوانید. S31S47 - بی اعتمادی به گواهی: چنین بهروزرسانیهایی ممکن است بهعنوان مطالب قابل اعتماد ظاهر شوند یا تغییرات فهرست را رد کنند تا تغییرات آشکار API. همان دسته از Node همچنین شامل مکانیسم رد میانی آسیب دیده CA است. منابع اعتماد مربوطه Java و Python هنوز باید به طور جداگانه تأیید شوند. S19S37S46
مستقل Brotli صحافی نیز باید بررسی شود. Google upstream منتشر شد 1.0.10 / 1.1.1 / 1.2.1 در همان روز برای تعمیر CVE-2026-111497 . Python پسوندهای بومی یا مصنوعات JNI که همان پیادهسازی آسیبدیده C را تعبیه میکنند باید بهطور مستقل بهروزرسانی/بازسازی شوند. نمی توان استنباط کرد که همه خالص هستند Java رمزگشاها تحت تأثیر قرار می گیرند و نمی توان آن را ارتقاء داد Node به طور خودکار کپی ها را در زبان های دیگر جایگزین می کند. S42
8. بررسی های تأیید و پیگیری
8.1 چک لیست حداقل تایید
| موارد را بررسی کنید | مدارک مورد نیاز |
|---|---|
| زمان اجرا | نسخه کامل یا شواهد پشتیبان فروشنده صحیح در فرآیند/کانتینر واقعی است |
| وابستگی های برنامه | Next/RSC/تیز، Tomcat/Spring، و Django/certifi در محصولات استقرار نهایی به آستانه مربوطه رسیده اند. |
| محدوده تعویض | همه کپیهای worker/JVM/container و وظایف پسزمینه با موارد جدید جایگزین شدهاند و نمونههای قدیمی خارج شدهاند. |
| TLS | گواهینامه های دامنه معتبر موفق شدند. نامهای میزبان نامطلوب و زنجیرههای نامعتبر طبق خطمشی با شکست مواجه میشوند. فروشگاه های اعتماد سفارشی گنجانده شده است |
| بی اعتمادی eMudhra | زنجیره گواهی ساخته شده توسط واسطه آسیب دیده CA در طول زمان اجرای واقعی رد شد، یا شواهدی وجود دارد که نشان می دهد ساخت امنیتی فروشنده خاص/فهرست رد مربوطه مستقر شده است. کیس را نمی توان بر اساس آزمایش عمومی TLS یا شماره نسخه کوتاه Java 8 بسته کرد. |
| رمزگشایی و تصاویر Node | پاسخ فشرده معمولی، آپلود، بهینه سازی تصویر و عملکردهای RSC در دسترس هستند. خط مشی منبع نامعتبر در حال اجرا است |
| Java احراز هویت و جداسازی | رمز عبور اشتباه رد شد. درخواستهای ناهمزمان همزمان کاربر مستقل بدون اختلاط هویت/پاسخ. همانطور که انتظار می رود LDAP گوش می دهد |
| Python SNI / آرشیو | نام عادی چند دامنه ای TLS کسب و کار پایدار است. بایگانی، پیمایش مسیر و پیوندهای غیرمجاز را رد می کند، و فایل های خارج از دایرکتوری اصلاح نمی شوند |
| داده ها و رگرسیون عملکردی | صفحه بندی، پرس و جو فضایی، بررسی مجوز و وظایف پس زمینه تست های موجود پروژه را پشت سر گذاشتند |
| منابع و مشاهدات | هیچ افزایش غیرعادی در خطاهای CPU، حافظه، میزان خطا، تاخیر و خطاهای TLS وجود ندارد. |
| قابلیت ردیابی | صرفه جویی در زمان ارتقا، خلاصه بسته/تصویر، تغییرات پیکربندی، نتایج تأیید و موارد حل نشده |
اینها توصیه های پذیرش پیاده سازی هستند و نیازی به تولید اسکریپت حمله برای هر CVE ندارند. راستیآزمایی شامل خرابیها، فرسودگی منابع، و بایگانی خارج از محدوده باید از آزمایش رگرسیون بالادستی یا دادههای آزمایش کنترلشده پروژه در یک محیط ایزوله استفاده کند.
8.2 Patching و بررسی نفوذ وظایف متفاوتی هستند
گزارشهای موجود را برای خطاهای رمزگشایی غیرمعمول، خرابیهای worker/JVM، نوشتن فایلهای مشکوک، تغییرات دادههای فهرست، استثنائات احراز هویت، درخواستهای خروجی و سوابق استفاده از اعتبار بررسی کنید. این نشانه ها باید در زمینه مورد قضاوت قرار گیرند: سقوط یا OOM دلیلی بر بهره برداری موفق نیست. عدم وجود هشدارها ثابت نمی کند که سیستمی تحت تأثیر قرار نگرفته است.
هنگامی که تغییرات غیرمجاز، اعتبارنامههای به خطر افتاده یا وابستگیهای مخرب تایید شده کشف میشوند، شواهد باید حفظ شوند، نمونههای مربوطه جداسازی شوند، اعتبارنامههای تحتتاثیر از یک محیط مطمئن چرخانده شوند، و سیستم بازسازی شود. این وصله نشانه هایی را که توسط مهاجم به دست آمده است باطل نمی کند یا داده های اصلاح شده را بازیابی نمی کند.
9. حادثه امنیتی زنجیره تامین: سازش LiteLLM 1.107.0
**تاریخ تایید رسمی: 2026-10-21.**LiteLLM گزارش داد که خط لوله انتشار آن به خطر افتاده است. litellm==1.107.0 PyPI و برخی از محصولات Docker/GHCR در همان دوره حاوی کد مخرب سرقت مخفی و کنترل از راه دور بودند و محصولات مرتبط پس گرفته شدهاند. S41
برای تعیین تأثیر، باید سوابق نصب تاریخی و خلاصه تصویر را بررسی کنید. برچسب هایی مانند latest، main-latest، و main-stable اکنون به تصاویر تمیز اشاره می کنند، که ثابت نمی کند محصولات کشیده شده در زمان حادثه تمیز بوده اند. توصیه رسمی در آن زمان پین کردن موقت 1.106.2 بود. این توصیه بر اساس این حادثه بود و سایر اعلامیه های امنیتی هنوز باید در حین استقرار بررسی شوند. S41
برای محیط هایی که محصولات مرتبط نصب یا اجرا شده اند:
- سوابق، تصاویر و گزارشهای نصب را جدا کرده و حفظ کنید و آنها را از یک محیط تمیز بازرسی کنید.
- ابتدا Python/pip را در یک محیط مشکوک راه اندازی نکنید. مخرب
.pth/sitecustomize.pyممکن است پس از راه اندازی مجدداً اجرا شود. - هاست ها، venvs/کانتینرها را از منابع قابل اعتماد بازسازی کنید. فقط نمی توان بسته ها را حذف یا کاهش داد.
- اعتبارنامههای ابری، کلیدهای ارائهدهنده LLM، کلیدهای LiteLLM و اعتبارنامههای پایگاه داده را بر اساس دسترسی واقعی لغو/چرخانید و استفاده غیرعادی را بررسی کنید. S41
این یک رویداد زنجیره تامین تایید شده است و نیاز به در نظر گرفتن اجرای کد مخرب، نشت اعتبار و خطرات پایدار در هنگام برخورد با آن دارد. از 23 اکتبر 2026، مقامات هنوز در حال بررسی نفوذ اولیه بودند.
پیوست: منابع و پیوندهای ذکر شده
تاریخ تأیید منبع زیر 2026-10-23 است که شامل اعلامیه امنیتی رسمی پروژه، مخزن کد رسمی و دستورالعملهای فروشنده میشود. متن اصلی [Sx] مربوط به این پیوست است. هنگام انجام به روز رسانی، باید بررسی کنید که آیا تامین کننده نسخه های بعدی را منتشر کرده است یا خیر.
S1 — Node.js: اعلامیه امنیتی 2026-10-21
- هدف: چهار زمان اجرا High، بر شاخه ها، انتشار امنیتی اکتبر.
- مرجع: Official Security Bulletin
S2 — Node.js: دستورالعمل انتشار رسمی برای سه خط تعمیر و نگهداری
- هدف: 22.23.4، 24.22.1، 26.12.1 و وصله های ادغام شده واقعی را بررسی کنید.
- مرجع: Node.js 22.23.4
- مرجع: Node.js 24.22.1
- مرجع: Node.js 26.12.1
S3 — Vercel: مشاوره امنیتی Node.js Brotli RCE
- هدف: شرایط رمزگشایی ورودی/خروجی، مرز پوشش WAF، وضعیت Node 20.
- مرجع: Node.js security advisory: Brotli decoder RCE
S4 — Node.js: ارسال پچ رسمی Brotli
- هدف: مبنای پیاده سازی برای بررسی رمزگشایی بومی و انتشار خطا.
- مرجع: Brotli Patch commit 49dff6f57a
S5 — Node.js: وصله عادی سازی آدرس TLS
- هدف: تأیید هویت گواهی اعداد تمام عرض و غیر استاندارد IP.
- مرجع: IP normalization regression Patch
- مرجع: rejects the patching of non-standard IP address
S6 — Node.js: وصله تأیید DNS NUL
- هدف: رد ورودی و پوشش رگرسیون.
- مرجع: dns.resolve Input verification patch
S7 — Node.js: اطلاعیه امنیتی 2026-07-29
- هدف: تخلیه حافظه HTTP/2، آسیبپذیریهای مدل مجوز UAF.
- مرجع: July 2026 Security Releases
S8 — Next.js: به روز رسانی امنیتی 2026-10-14
- هدف: یکپارچه سازی خط پایه ارتقا و سه ریسک کلیدی.
- مرجع: Next.js Security Update for Upstream Vulnerabilities
مرجع: S9 — Next.js:typed arrays / use cache RCE
- هدف: GHSA-673q-mjm6-r5xr; بر فاصله، شرایط، امتیاز و وضعیت راه حل تأثیر می گذارد.
- مرجع: Next.js Official Security Bulletin
مرجع: S10 — React:React Server Components RCE
- هدف: GHSA-xqc2-xf4c-x3h3; نسخه های آسیب دیده و ثابت سه بسته RSC.
- مرجع: React Official Security Bulletin
مرجع: S11 — Next.js:SVG Image Optimization RCE
- هدف: CVE-2026-96889 / GHSA-2464-fhr4-w9xw; مرزهای نسخه glibc، واضح و اصلی.
- مرجع: SVG Image Optimization Official Security Bulletin
مرجع: S12 — Next.js:Server Actions DoS
- هدف: GHSA-p3m5-59mp-jv5r; بر شرایط، نسخه ها و رتبه بندی ها تأثیر می گذارد.
- مرجع: Server Actions DoS Official Security Bulletin
S13 — Next.js: AVIF بهینه سازی تصویر RCE
- هدف: 2026-08-25, GHSA-2xp9-vwfh-vxw4.
- مرجع: AVIF Official Security Bulletin
مرجع: S14 — Next.js:Windows RCE
- هدف: 2026-08-25، CVE-2026-75604/GHSA-p293-qw3h-jr36.
- مرجع: Windows RCE Official Security Bulletin
مرجع: S15 — Next.js:next/og ImageResponse RCE
- هدف: 2026-09-22, GHSA-vcvr-r3jv-pc5j; تفاوت بین Node و Edge.
- مرجع: ImageResponse Official Security Bulletin
- مرجع: September 22 release notes
مرجع: S16 — Oracle: October 2026 CPU
- هدف: ماتریس خطر Java SE، مقدار پچ و شرایط قابل اجرا.
- مرجع: Oracle Critical Patch Update – October 2026
- مرجع: Oracle Java SE CPU Version list
S17 — Oracle: زنگ هشدار خارج از باند CVE-2026-91403
- هدف: 21-10-2026، خطر اعتماد گواهی JSSE، محصولات تحت تأثیر و CVSS 3.1 9.1.
- مرجع: Oracle Security Alert
S18 — Oracle: JDK نسخه رسمی و دانلود
- هدف: تمایز بین CPU در 20 اکتبر و نسخه خارج از باند در 21 اکتبر. محدودیت های نسخه کوتاه Java 8 را تشخیص دهید.
- مرجع: JDK release list
- مرجع: Oracle Java Download page
S19 — Oracle: طرح برداشت موقت eMudhra
- هدف: به روز رسانی 2026-10-22; دو گواهی ریشه، ابزار کلید، ذخیره سفارشی، و بررسی ابطال.
- مرجع: Distrusting eMudhra Intermediate Certificates in Oracle JDK
S20 — Eclipse Adoptium: انتشار رکورد ساخت
- هدف: Temurin به دلیل حادثه گواهی بسته بندی مجدد می شود. پسوند نسخه Oracle را نمی توان به صورت مکانیکی اعمال کرد.
- مرجع: Adoptium Release Scorecards
S21 — Apache Tomcat 9 اعلامیه امنیتی
- هدف: فاصله 9 شاخه ای دقیق تحت تأثیر با رفع 9.0.123.
- مرجع: Tomcat 9 vulnerabilities
S22 — Apache Tomcat 10 اعلامیه امنیتی
- هدف: فاصله دقیق شاخه 10.1 و تعمیر 10.1.61. 10.0 EOL.
- مرجع: Tomcat 10 vulnerabilities
S23 — Apache Tomcat 11 اعلامیه امنیتی
- هدف: سه مورد Important، 11.0.27، AJP محدوده قابل اجرا و تاریخ افشا/ انتشار.
- مرجع: Tomcat 11 vulnerabilities
S24 — Apache Tomcat: تعهد پچ JNDIRealm
- هدف: مبنای رسمی برای تعمیر شکاف های تأیید گواهینامه.
- مرجع: JNDIRealm Patch commit
مرجع: S25 — Spring:GraphQL CVE-2026-59285
- هدف: 2026-08-20، مورد نیاز، 2.0.5 OSS / 2.0.4.1 تعمیرات تجاری.
- مرجع: Spring for GraphQL Unsafe Deserialization
مرجع: S26 — Spring:GraphQL CVE-2026-41699
- هدف: یک آستانه رفع زودتر، فقط برای توضیح اینکه چرا نمیتوانید در خط پایه قدیمی بمانید.
- مرجع: 6 Month GraphQL Security Bulletin
مرجع: S27 — Spring Security:CVE-2026-59270
- هدف: جاسازی UnboundID LDAP، هویت مدیریتی شناخته شده و تمایز OSS/نسخه تجاری.
- مرجع: Spring embedded LDAP Security Bulletin
مرجع: S28 — Spring Security:CVE-2026-47841
- هدف: احراز هویت کاربر WebAuthn، سریال سازی جلسات و فرضیه حمله.
- مرجع: WebAuthn Security Bulletin
S29 — PSF: CVE-2026-19445 مشاور امنیت مستقل
- هدف: 2026-09-30, Critical, SNI شرایط و اقدامات موقت ذکر شده توسط SSLContext.
- مرجع: SSLContext UAF Official announcement
S30 — PSF: CVE-2026-19553 مشاور امنیت مستقل
- هدف: 30-09-2026، High، نام میزبان گم شده و کاهش پارامتر صریح.
- مرجع: wrap_bio Official announcement of hostname verification
S31 — CPython: پچ رسمی wrap_bio و بکپورت 3.12
- هدف: سیاست سازگاری هشدار 3.10—3.12، تفاوت بین None و رشته خالی.
- مرجع: Main Patch PR #158503
- مرجع: 3.12 Backfill PR #158513
- مرجع: 3.15 Backfill PR #158511
S32 — PSF: CVE-2026-82049 مشاور امنیت مستقل
- هدف: 2026-09-14، High، ترکیب پیوند، اصلاح ابرداده و قرار گرفتن در معرض محتوا.
- مرجع: tarfile link bypasses the official announcement
S33 — CPython: انتشار رسمی امنیتی در پایان سپتامبر / اوایل اکتبر
- هدف: حداقل نسخه ثابت، روش توزیع کد منبع و معافیت 3.14 برای مسائل خاص tarfile.
- مرجع: Python Cross-branch security release instructions
- مرجع: Python 3.11.17
- مرجع: Python 3.12.15
- مرجع: Python 3.13.16
- مرجع: Python 3.14.8
S34 — CPython: 3.10 آخرین نسخه ایمن
- هدف: 3.10.22 و پایان چرخه حیات بالادست.
- مرجع: Python 3.10.22
S35 — CPython: نسخه تعمیر و نگهداری اضطراری 2026-10-21
- هدف: 3.13.17 / 3.14.9 / 3.15.1، به روز رسانی داخلی pip و certifi، الزامات موجود venv.
- مرجع: Python 3.13.17
- مرجع: Python 3.14.9
- مرجع: Python 3.15.1
S36 — certifi: اعلام عدم اعتماد گواهی emSign
- هدف: 2026-10-20، GHSA-6q48-6c7w-9gw2، Critical، CVE شناخته شده نیست.
- مرجع: certifi Official Security Bulletin
S37 — PSF: تأثیر eMudhra / emSign بر کاربران Python
- هدف: توصیه certifi .19، خط پایه pip/uv، فرمان ارتقاء بوت قابل اعتماد با SHA-256.
- مرجع: PSF Official event and upgrade instructions
دستور ارتقاء بوت pip ارائه شده توسط دستورالعمل های رسمی ذکر شده توسط S37 به شرح زیر است. فقط در محیط های Python استفاده شود که قابل اعتماد بودن آنها تایید شده است. اگر مشکوک به مسمومیت در بخش 9 وجود دارد، ابتدا جداسازی و مطابق با روند حادثه بازسازی کنید. این هش محتوای چرخ را برطرف می کند و متعاقباً سایر وابستگی ها را مطابق روند پروژه به روز می کند.
python -m pip install "pip @ https://files.pythonhosted.org/packages/3f/06/3e4420302363fbb71be3c7f35ce042f54bfca330e3e66b3a2e3c4cca579f/pip-26.2.2-py3-none-any.whl#sha256=fd7f4dfa8190e014013b9f08f3e973f4e4c26ffd179a204895533a7254813a70"
S38 — Django: انتشار ایمن 2026-08-04
- استفاده: CVE-2026-15307، GeoDjango شرایط بهره برداری، اصلاحات اولیه و تغییرات سازگاری.
- مرجع: Django 6.0.8 / 5.2.17
S39 — Django: انتشار ایمن 2026-10-06
- هدف: CVE-2026-87890، هندسه DoS تقویت بعدی با خط پایه انتخاب شده فعلی.
- مرجع: Django 6.1.2 / 6.0.9 / 5.2.18
S40 — PSF / CPython: آخرین یادداشت جانبی tar_filter
- هدف: 2026-10-22, CVE-2026-114583 (Medium); ادغام PR به این معنی نیست که نسخه رسمی تعمیر و نگهداری منتشر شده است.
- مرجع: PSF Independent Announcement
- مرجع: CPython Patch PR #160098
S41 — LiteLLM: گزارش رسمی رویداد زنجیره تامین، 21 اکتبر
- هدف: محصول آلوده 1.107.0، هضم تاریخی، بازسازی جداسازی و دفع اعتبار.
- مرجع: Contained: LiteLLM v1.107.0 Compromised
S42 — Google Brotli: نسخه رسمی امن
- هدف: Brotli 1.0.10 / 1.1.1 / 1.2.1 مستقل و اساس تأیید کپی تعبیه شده بین زبانی.
- مرجع: Brotli releases
S43 - اشتباه: از اسناد رسمی دستور استفاده کنید
- هدف: نسخه ابزار و معنای دستوری پیکربندی جهانی را مشخص کنید.
- مرجع: mise use
S44 — PyPA: pip-ممیزی پروژه رسمی
- هدف: Python هدف و مرزهای قابلیت حسابرسی آسیب پذیری وابستگی.
- مرجع: pip-audit
S45 — Python: سند فیلتر استخراج tarfile
- هدف: استراتژی داده، تغییرات رفتار پیشفرض و محدودیتهایی که نمیتوانند جایگزین جعبه شنی شوند.
- مرجع: tarfile extraction filters
S46 — Node.js: مکانیزم رد میانی CA
- هدف: این پردازش زنجیره اعتماد مربوط به eMudhra معادل باطل کردن رمزنگاری تمام گواهیهای ریشه نیست.
- مرجع: Node.js PR #66871
S47 — CPython: نکات فنی و رفع SNI UAF
- هدف: چرخه عمر مرجع، شرایط ساخت ویژه و عقب نشینی شاخه.
- مرجع: official issue #156293
- مرجع: official patch PR #158504
- مرجع: 3.15 Backfill PR #158514