แหล่งข้อมูลที่ตรวจสอบ ณ วันที่ 23 ตุลาคม 2026 (UTC) ระยะเวลาครอบคลุม: 25 กรกฎาคม - 23 ตุลาคม 2026 โดยเน้นที่ประกาศใหม่และแพทช์ต่อๆ ไปตั้งแต่เดือนกันยายนถึงตุลาคม Audience: วิศวกรและผู้ตอบสนองด้านความปลอดภัยที่ดูแลบริการ 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 ภายในเวอร์ชันหลักเดียวกันหรือเวอร์ชันใหม่กว่า ที่มีการแก้ไขเดียวกัน S1S2
- อัปเดตการอ้างอิงแอปพลิเคชัน Node แยกกัน สำหรับ Next.js ให้ใช้ 15.5.28 / 16.4.1 เป็นพื้นฐานการอัพเกรด เมื่อใช้ React Server Components แยกกัน ให้ตรวจสอบแพ็คเกจ
react-server-dom-*ที่ติดตั้งจริง การอัปเดตไบนารี Node เท่านั้นที่ไม่ครอบคลุมช่องโหว่ของเฟรมเวิร์กเหล่านี้ S8S9S10S11S12 - Java: ครอบคลุมการอัปเดตทั้งสองรอบ ติดตั้งผู้จำหน่ายบิลด์ที่ครอบคลุมทั้ง 20 ตุลาคม CPU และ 21 ตุลาคม CVE-2026-91403 การแก้ไขความน่าเชื่อถือใบรับรองฉุกเฉิน ดูส่วน 2.2 สำหรับเวอร์ชันนอกย่านความถี่ Oracle JDK 11-27 ตรวจสอบการกระจายอื่น ๆ กับแพ็คเกจความปลอดภัยของตนเองและหมายเลขบิลด์แบบเต็ม อัปเดตสาขา Tomcat ที่สอดคล้องกันเป็น 9.0.123 / 10.1.61 / 11.0.27 S16S17S18S20S21S22S23
- 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 ขาเข้าไม่สามารถครอบคลุมเส้นทางขาออก เช่น แอปพลิเคชันที่ดึงการตอบสนองที่บีบอัดที่เป็นอันตราย S3S11S25S27S30S32
- สร้างใหม่ แทนที่กระบวนการเก่า และตรวจสอบผ่านเส้นทางบริการจริง บันทึกไฟล์ล็อคและสรุปรูปภาพ สร้างแอปพลิเคชันและรูปภาพขึ้นใหม่ เปิดตัวการแทนที่สำหรับผู้ปฏิบัติงานทั้งหมด/JVM/คอนเทนเนอร์ ตรวจสอบกระบวนการจริง แผนผังการขึ้นต่อกัน ร้านค้าที่เชื่อถือได้ และการทดสอบการถดถอยทางธุรกิจ เวอร์ชันบรรทัดคำสั่งที่ใหม่กว่าเพียงอย่างเดียวไม่ได้ระบุว่าการแก้ไขเสร็จสมบูรณ์
- หากติดตั้งหรือรัน LiteLLM 1.107.0 ให้ทำตามขั้นตอนการตอบสนองต่อเหตุการณ์ โครงการยืนยันการประนีประนอมการเปิดตัวในวันที่ 21 ตุลาคม แยกสภาพแวดล้อมที่ได้รับผลกระทบ ตรวจสอบจากสภาพแวดล้อมที่สะอาด สร้างใหม่และหมุนเวียนข้อมูลรับรองที่เปิดเผย อย่าสตาร์ท Python/pip ในสภาพแวดล้อมที่น่าสงสัยเพื่อทำการตรวจสอบก่อน ดูส่วนที่ 9 สำหรับรายละเอียด S41
1. ภาพรวมช่องโหว่และการประเมินความเสี่ยง
1.1 จัดลำดับความสำคัญของการแก้ไขตามการสัมผัสจริง
ลำดับความสำคัญของการนำไปใช้งานด้านล่างเป็นแนวทางในการนำไปปฏิบัติ ป้ายความรุนแรงจะติดตามผู้จำหน่ายแต่ละราย รวมถึงการจัดอันดับ Important ของ Apache 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 + Classpath ที่ใช้ประโยชน์ได้ 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 | แยกไฟล์เก็บถาวร tar ที่ไม่น่าเชื่อถือ S32 โดยอัตโนมัติ |
| Django / GeoDjango | CVE-2026-15307: ไฟล์การเขียนแบบสอบถามเชิงพื้นที่ SSRF ภายใต้เงื่อนไข RCE | High | ข้อความค้นหาเชิงพื้นที่หรืออินเทอร์เฟซการดูแลระบบที่เกี่ยวข้องซึ่งยอมรับอินพุตที่ไม่น่าเชื่อถือ S38 |
| การขึ้นต่อกันของใบรับรอง Python | certifi: emSign ที่เกี่ยวข้องกับใบรับรองไม่น่าเชื่อถือ | Critical; GHSA ไม่มีใครรู้จัก CVE | เครื่องมือจัดการไคลเอนต์และแพ็คเกจ TLS S36S37 ยังคงใช้ CA bundle ที่ได้รับผลกระทบ |
ตัวย่อ: RCE ย่อมาจาก Remote Code Execution, UAF ย่อมาจาก Use-after-free และ SSRF ย่อมาจาก Server-side Request Forgery สิทธิ์โดยตรงของ RCE มักจะเป็นสิทธิ์ของกระบวนการที่โฮสต์แอปพลิเคชัน และไม่สามารถเทียบเท่ากับสิทธิ์รูทได้โดยอัตโนมัติ
ลำดับที่แนะนำ: จัดการ RCE ก่อน ซึ่งสามารถเข้าถึงได้จากภายนอกและตรงตามเงื่อนไข การบายพาสการตรวจสอบสิทธิ์ การรั่วไหลของข้อมูลระหว่างผู้ใช้ และปัญหาการตรวจสอบสิทธิ์ใบรับรอง ในเวลาเดียวกัน ให้กำหนดเวลาการอัปเดตสำหรับจุดเข้าใช้งาน DoS ที่เปิดเผยต่อสาธารณะ ไม่จำเป็นต้องรันเพย์โหลดการโจมตีในการผลิตเพื่อพิสูจน์ความสามารถในการเอารัดเอาเปรียบ มีการขึ้นต่อกัน สามารถเข้าถึงเส้นทางโค้ดได้ และตรงตามเงื่อนไขการโจมตี ต่อไปนี้เป็นประเด็น 3 ประการที่ต้องตรวจสอบแยกกัน
1.2 สามขอบเขตที่สับสนได้ง่าย
- อัปเกรดรันไทม์และการอ้างอิงแยกกัน การอัปเดตความปลอดภัยสำหรับ Node, JDK, CPython จะไม่ซ่อมแซมการติดตั้งแบบสแตนด์อโลนของ Next.js, Spring, Django โดยอัตโนมัติ certifi หรือส่วนขยายดั้งเดิม
- เกณฑ์การแก้ไข แยกจากบรรทัดฐานการใช้งานปัจจุบัน แพตช์แรกสำหรับช่องโหว่ในเดือนสิงหาคมไม่รับประกันว่าจะครอบคลุมปัญหาใหม่ตั้งแต่เดือนกันยายนถึงตุลาคม ส่วนที่ 2 ใช้การอัปเดตในภายหลังที่ได้รับการตรวจสอบแล้วเป็นเป้าหมายการใช้งาน
- แยกแยะช่องโหว่จากการประนีประนอมของห่วงโซ่อุปทานจริง สำหรับช่องโหว่ทั่วไป โปรแกรมแก้ไขจะกำจัดเส้นทางการโจมตีในอนาคต เมื่อมีการเรียกใช้แพ็คเกจที่เป็นอันตราย จำเป็นต้องตรวจสอบผลกระทบของข้อมูลประจำตัวและความคงอยู่ LiteLLM ของ Section 9 เป็นงานที่ได้รับการยืนยันอย่างเป็นทางการ 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 ระบุว่าที่เกี่ยวข้อง build ได้รับการบรรจุใหม่เพื่อเพิ่มการแก้ไข eMudhra ชื่อเดียวกันของเวอร์ชันอัปสตรีมไม่ได้หมายความว่าเนื้อหาแพ็คเกจเหมือนกัน กฎส่วนต่อท้าย .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 อาจเผยแพร่ในซอร์สโค้ดเท่านั้น เมื่อใช้แพ็คเกจระบบปฏิบัติการ ให้ตรวจสอบคำแนะนำ backport ของผู้จำหน่ายและเวอร์ชันแพ็คเกจที่สมบูรณ์ และไม่มีข้อกำหนดในการบังคับให้แทนที่ระบบ 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 จึงไม่ถือว่าครอบคลุมปัญหา tarfile ทั้งหมด ดูส่วน 5.4. S40
2.4 การตรวจสอบ backport การแจกจ่าย
หลักการใช้งานที่ใช้ได้กับ Ubuntu, Debian, RHEL และแพ็คเกจซอฟต์แวร์อื่นๆ:
- บันทึกเวอร์ชันระบบปฏิบัติการ แหล่งที่มาของพื้นที่เก็บข้อมูล เวอร์ชันแพ็คเกจเต็ม และหมายเลขกระดานข่าวความปลอดภัยของผู้จำหน่าย
- ยืนยันว่าคำแนะนำครอบคลุม CVE เฉพาะ และระบุแพ็คเกจคงที่สำหรับการเผยแพร่ที่เกี่ยวข้อง
- เปรียบเทียบไบนารี/ไลบรารีที่โหลดโดยกระบวนการที่ทำงานอยู่จริง ไม่ใช่แค่เวอร์ชันสั้นของอัพสตรีม
- เมื่อไม่มีหลักฐานของแพตช์ของผู้จำหน่าย ให้ปล่อยให้ “ได้รับการยืนยัน” และอย่าถือเป็นข้อสรุปเดียวว่าหมายเลขเวอร์ชันดูเก่าหรือใหม่
มีความแตกต่างในเวอร์ชันแพ็กเกจ apt/RPM และกลยุทธ์ backport ของการแจกแจงที่แตกต่างกัน กระดานข่าวความปลอดภัยและเวอร์ชันแพ็คเกจที่สมบูรณ์ของแต่ละการแจกจ่ายควรมีผลเหนือกว่า
3. ระบบนิเวศ Node.js / JavaScript: การวิเคราะห์สาเหตุและการแก้ไข
3.1 CVE-2026-111497: การเขียนตัวถอดรหัสเนทิฟ Brotli อยู่นอกขอบเขต
การเปิดเผยข้อมูล: 21-10-2569; Node เกรดอย่างเป็นทางการ: High Builds of Node 22.x, 24.x, 26.x ที่ได้รับผลกระทบ จำเป็นต้องมีการติดตั้งส่วนแพตช์ 2.1 Node ประกาศไม่ได้แสดงรายการคะแนน CVSS ที่เป็นตัวเลข S1
ปัญหาเกิดขึ้นในตรรกะการถอดรหัสดั้งเดิมเมื่อจัดการสตรีมที่บีบอัด Brotli ที่มีรูปแบบไม่ถูกต้อง ซึ่งอาจนำไปสู่การเขียนนอกขอบเขต คำอธิบายอย่างเป็นทางการของ Vercel ยืนยันว่าการสาธิตการวิจัยเกี่ยวข้องกับหน่วยความจำกระบวนการรั่วและการดำเนินการคำสั่ง ผู้โจมตีสามารถเข้าถึงตัวถอดรหัสได้หรือไม่นั้นขึ้นอยู่กับว่าแอปพลิเคชันหรือการพึ่งพาจะถอดรหัสข้อมูลที่ควบคุมหรือไม่ S3
ต้องตรวจสอบทั้งสองทิศทางพร้อมกัน:
- inbound: เฟรมเวิร์กหรือมิดเดิลแวร์ จะขยายขนาดเนื้อหาคำขอ Brotli ที่ผู้ใช้ส่งมาโดยอัตโนมัติ
- **outbound:**HTTP ไคลเอนต์ โปรแกรมจับภาพ ฯลฯ เข้าถึงแหล่งที่มาที่ผู้โจมตีควบคุมได้ และขยายขนาดเนื้อหาที่ส่งคืนโดยอัตโนมัติ
การปิดใช้งานการบีบอัดการตอบสนอง Brotli ที่ส่งไปยังเบราว์เซอร์จะไม่ลบจุดเข้าถอดรหัส การป้องกัน WAF ขาเข้ายังไม่ครอบคลุมถึงแอปพลิเคชันที่ดึงข้อมูลและถอดรหัสการตอบสนองภายนอก S3
ทิศทางของแพทช์ **Patch:**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. Pure browser-side 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, 14-10-2569, 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, 14-10-2569, 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 และไม่ได้หมายความว่ามีพาธ RCE ที่สามารถใช้ประโยชน์ได้โดยตรง 49 พาธสำหรับแต่ละบริการเว็บ 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 สำหรับคำสั่งเหล่านี้ และยืนยันว่าคำสั่งเหล่านั้นกำลังทำงานบน trust store ที่แท้จริงของแอปพลิเคชัน Java 8 ใช้เส้นทางที่สอดคล้องกับ jre/lib/security/cacerts; การปรับแต่ง truststore จะต้องจัดการแยกกัน และผู้เผยแพร่รายอื่นอาจมีนามแฝงที่แตกต่างกัน การนำใบรับรองหลักออกจะขยายขอบเขตของการปฏิเสธ และการทดสอบการถดถอยของสายใบรับรองบริการที่ถูกต้องตามกฎหมาย S19
เจ้าหน้าที่ยังให้ตัวเลือกในการเปิดใช้งานการตรวจสอบการเพิกถอน แต่ผลที่ได้ขึ้นอยู่กับการใช้งานจริงของ TLS ความสามารถในการเข้าถึงบริการการเพิกถอน และกลยุทธ์ความล้มเหลว สำหรับการปรับใช้ทั่วไป ให้จัดลำดับความสำคัญในการติดตั้งการอัปเดตของผู้จำหน่ายแบบเต็มเพื่อหลีกเลี่ยงการใช้สวิตช์ JVM สองตัวเป็นหลักฐานว่าไลบรารี TLS ทั้งหมดได้รับการแก้ไขแล้ว
4.2 Tomcat: บายพาสการรับรองความถูกต้องและการแยกคำขอข้ามผู้ใช้
สามรายการต่อไปนี้ถูกเผยแพร่บน 2026-10-20; รายการเวอร์ชันที่ได้รับการซ่อมแซมคือวันที่ October 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 กำหนดค่ากลไกการตรวจสอบสิทธิ์ SASL ที่ไม่ใช่ GSSAPI การตรวจสอบข้อมูลรับรองหายไป และรหัสผ่านที่ไม่ถูกต้องอาจผ่านได้เช่นกัน |
| 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 ตามประกาศเท่านั้น และไม่สามารถขยายไปยัง 3 สาขาที่มีปัญหาเดียวกันได้ S21S22S23
แพตช์ JNDIRealm แก้ไขช่องว่างในการตรวจสอบในกระบวนการตรวจสอบความถูกต้องจริง โดยที่ “อินเทอร์เฟซการเข้าสู่ระบบของแอปพลิเคชันดูปกติ” ไม่สามารถนำมาใช้แทนการตรวจสอบได้ ควรตรวจสอบกลไก Realm, 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
- ให้ฟิลด์เพจการเชื่อมต่อแก่โลกภายนอก
- classpath มีคลาสเฉพาะที่สามารถดำเนินการตรรกะที่ไม่คาดคิดในระหว่างการสร้างอินสแตนซ์หรือการดีซีเรียลไลซ์
การร้องขอ GraphQL ที่เป็นอันตรายอาจทำให้เกิด RCE เมื่อตรงตามเงื่อนไข ไม่สามารถลดเป็น “โปรแกรม Java ทั้งหมดที่ใช้ Jackson สามารถใช้ประโยชน์ได้” 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.* และโค้ดการสร้างอินสแตนซ์โดยตรง ปิดส่วนประกอบเมื่อไม่จำเป็นสำหรับการผลิต และตรวจสอบที่อยู่การฟังจริง เมื่อธุรกิจต้องการมันจริงๆ ก่อนอื่นให้จำกัดแหล่งที่มาของการโทร จากนั้นจึงอัปเกรดส่วนประกอบให้เสร็จสิ้น
**Related ปัญหาการรับรองความถูกต้อง: CVE-2026-47841 (High).**WebAuthn การรับรองความถูกต้องของผู้ใช้ถูกตั้งค่าเป็น REQUIRED และหลังจากเซสชัน HTTP ถูกทำให้เป็นอนุกรมโดยการจัดเก็บแบบกระจาย การเปรียบเทียบข้อมูลเฉพาะตัวของวัตถุที่ไม่ถูกต้องอาจทำให้ข้อกำหนดการรับรองความถูกต้องเป็นโมฆะ การโจมตียังกำหนดให้ผู้โจมตีต้องครอบครองอุปกรณ์ตรวจสอบสิทธิ์ผู้ใช้ ไม่ใช่การเข้าสู่ระบบระยะไกลโดยอำเภอใจโดยไม่มีอุปกรณ์ สำหรับเวอร์ชันที่ได้รับผลกระทบที่สอดคล้องกันของ 7.1, 7.0, 6.5 และ 6.4 พื้นฐานแพตช์จะสอดคล้องกับสาขาเหล่านี้ในตารางด้านบน การตรวจสอบควรครอบคลุมเซสชันข้ามโหนดและยังคงต้องมีการตรวจสอบ PIN/ไบโอเมตริกซ์ S28
5. ระบบนิเวศ Python: ล่าม, ไลบรารีมาตรฐาน, กรอบงานและใบรับรอง
5.1 CVE-2026-19445: SSLContext UAF ในการเรียกกลับ SNI
วันที่ตีพิมพ์: 2026-09-30; ระดับ PSF: Critical. ในเซิร์ฟเวอร์ Python TLS, sni_callback สลับการเชื่อมต่อกับ SSLContext อื่น และเมื่อบริบทดั้งเดิมไม่มีการอ้างอิงอื่น ๆ ที่ยังมีชีวิตรอด ไคลเอนต์ TLS ที่ไม่ได้รับอนุญาตอาจหยุดทำงาน บริการหรือเรียกตัวชี้ในวัตถุที่ปล่อยออกมา S29
สิ่งสำคัญคืออ็อบเจ็กต์ Python ไม่สอดคล้องกับวงจรชีวิตการเรียกกลับ TLS พื้นฐาน บริบทดั้งเดิมได้รับการเผยแพร่แล้ว และเลเยอร์ที่ซ่อนอยู่อาจยังคงรักษาสถานะที่จำเป็นสำหรับการโทรกลับ จำเป็นต้องใช้โปรแกรมแก้ไขดั้งเดิมของล่ามเพื่อแก้ไขวงจรชีวิตการอ้างอิง S47
Scope: รหัส Python ที่ทำหน้าที่เป็นไคลเอ็นต์ TLS เท่านั้น ไม่ได้รับผลกระทบจากรายการนี้ โหมดปกติของซ็อกเก็ตการฟังที่ยึดบริบทดั้งเดิมไว้เป็นเวลานานไม่ตกอยู่ในเส้นทางความล้มเหลวเฉพาะที่อธิบายไว้ในประกาศ หลังจากที่ Nginx ยุติการทำงานของ TLS แล้ว Nginx จะส่งมอบเฉพาะ 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 และการใช้งานที่เกี่ยวข้องก่อนหน้านี้ การรวมกันของฮาร์ดลิงก์และลิงก์สัญลักษณ์ใน tar ที่ไม่น่าเชื่อถือสามารถข้ามตัวกรองการแยก 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"เพื่อจัดการไฟล์เก็บถาวรที่ไม่น่าเชื่อถือควรติดตาม backport ที่เผยแพร่ แยกหรือระงับเส้นทางการประมวลผลนี้ในช่วงเวลาสั้นๆ เมื่อเปลี่ยนไปใช้dataและปฏิเสธลิงก์ คุณต้องยืนยันด้วยว่าเป็นไปตามข้อกำหนดทางธุรกิจ และการเปลี่ยนตัวกรองไม่สามารถอธิบายได้ว่าเป็นแซนด์บ็อกซ์แบบไม่มีเงื่อนไข
5.5 GeoDjango: CVE-2026-15307 และการแก้ไขที่ตามมาในเดือนตุลาคม
2026-08-04, Django อย่างเป็นทางการ High. แบบสอบถามเชิงพื้นที่ส่งผ่านสตริง/พจนานุกรมบางอย่างโดยปริยายไปยัง GDALRaster และไดรเวอร์อาจเขียนไฟล์หรือเริ่มต้นคำขอเครือข่าย 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 ในเวน | CA bundle ใช้จริงโดยแอปพลิเคชันหรือคำขอ ฯลฯ |
| pip certifi ในตัว | เป็นสำเนาที่แตกต่างจาก certifi ที่ติดตั้งภายนอก |
| uv / เครื่องมือบรรจุภัณฑ์อื่นๆ | ติดตามการอัปเดตของเครื่องมือและแหล่งที่มาที่เชื่อถือได้ |
| ไฟล์ CA ที่กำหนดเอง สแน็ปช็อตแบบแพ็กเกจ | อาจดำเนินการแทนที่แหล่งข้อมูลที่เชื่อถือได้เริ่มต้นสำหรับระบบหรือแพ็คเกจต่อไป |
ข้างต้นเป็นรายการตรวจสอบตามสถานที่บรรจุภัณฑ์ต่างๆ PSF ต้องการการอัปเดตเครื่องมือที่เกี่ยวข้อง สภาพแวดล้อมเสมือนที่มีอยู่ และสร้างอิมเมจใหม่ การอัพเดตโฮสต์ CA หรือการติดตั้งล่ามใหม่เท่านั้น ไม่สามารถพิสูจน์ได้ว่าสำเนาทั้งหมดได้รับการรีเฟรชแล้ว S35S37
เมื่ออัพเกรดจากบูทสแตรปที่ปลอดภัย pip ตัวเก่า PSF จะจัดเตรียมคำสั่งสำหรับ fixed wheel และ SHA-256 ดูภาคผนวก S37 อย่าปิดการตรวจสอบ TLS หรือเพิ่ม --trusted-host เพื่อข้ามปัญหาใบรับรอง
6. กระบวนการฟื้นฟูอย่างเป็นทางการ
คำสั่งต่อไปนี้ใช้สำหรับสภาพแวดล้อมที่เชื่อถือได้ที่ได้รับการยืนยัน เมื่อดำเนินการ ควรรวมตัวจัดการแพ็คเกจ ไฟล์ล็อค และกระบวนการปรับใช้ของโปรเจ็กต์ที่มีอยู่เพื่อหลีกเลี่ยงการผสม npm/pnpm/yarn หรือ pip/uv/Poetry เพื่อสร้างไฟล์ล็อคที่ขัดแย้งกัน
จัดการข้อยกเว้นก่อน: หากคุณสงสัยว่าสภาพแวดล้อมใช้งานแพ็คเกจที่ถูกบุกรุกในส่วนที่ 9 ให้แยกออกก่อน และตรวจสอบดิสก์ ล็อคไฟล์ และบันทึกรูปภาพจากสภาพแวดล้อมที่ปลอดภัย อย่ารันคำสั่ง Python/pip ต่อไปนี้ก่อน S41
6.1 สร้างบัญชีแยกประเภทที่สามารถสอดคล้องกับการรับส่งข้อมูลจริง
แต่ละบริการบันทึกอย่างน้อย:
- จุดเข้าใช้งานภายนอก พร็อกซีย้อนกลับ เส้นทางการเชื่อมต่อโดยตรงไปยังไซต์ต้นทาง และคิวเบื้องหลัง/งานที่กำหนดเวลาไว้
- คำสั่งเริ่มต้นจริง บัญชีที่รันอยู่ เส้นทางไบนารี กระบวนการ หรือเอกลักษณ์ของคอนเทนเนอร์
- รันไทม์เวอร์ชันเต็ม ผู้เผยแพร่/พื้นที่เก็บข้อมูล เวอร์ชันเต็มของแพ็กเกจ หรือการแยกย่อยอิมเมจ
- การขึ้นต่อกันของเฟรมเวิร์กและสกรรมกริยา ไฟล์ล็อค ไลบรารีดั้งเดิม และเส้นทางของร้านค้าที่เชื่อถือได้
- สอดคล้องกับเงื่อนไขช่องโหว่ที่มีอยู่ เป้าหมายการแก้ไข ขอบเขตการรีสตาร์ท ผู้รับผิดชอบ และผลการตรวจสอบ
เครื่องจักรสำหรับการพัฒนา CI runners สร้างคอนเทนเนอร์ และงานเบื้องหลังควรได้รับการตรวจสอบตามเส้นทางไปยังเนื้อหาที่ไม่น่าเชื่อถือ อย่าเพิ่งอัปเดตคอนเทนเนอร์เว็บที่เปิดเผยต่อสาธารณะ
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 หรือหลักฐาน backport ของผู้จำหน่าย S2S4
npm ls ใช้เพื่อดูแผนผังการขึ้นต่อกันจริง แพ็คเกจที่ขาดหายไปหรือข้อขัดแย้งเพียร์อาจทำให้เกิดรหัสทางออกที่ไม่เป็นศูนย์ ดังนั้นคุณควรอ่านเอาต์พุตเฉพาะ npm audit ถูกใช้เป็นตัวช่วยในการตรวจสอบการขึ้นต่อกัน และไม่สามารถแทนที่การตรวจสอบไบนารีและไลบรารีดั้งเดิมของ Node ได้
ใช้ mise เพื่อจัดการสภาพแวดล้อมของ Node 24 ซึ่งสามารถอัปเดตได้ดังต่อไปนี้:
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 ไฟล์ล็อค และอินสแตนซ์ Sharp สุดท้าย จากนั้นจึงสร้างตามกระบวนการของโครงการ ใช้ไฟล์ล็อคที่อัปเดตใน 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
คำสั่ง build เหล่านี้อาจเรียกใช้งานปลั๊กอินและแก้ไขการขึ้นต่อกันทางออนไลน์ และทำงานบนโปรเจ็กต์ที่เชื่อถือได้เท่านั้น ตรวจสอบ JAR/WAR สุดท้ายหรือ JAR จริงในอิมเมจ และอย่าแทนที่การประกาศไฟล์ build สำหรับส่วนสุดท้าย Spring การบูตแบบฝัง Tomcat จำเป็นต้องสร้างแอปพลิเคชันใหม่ การอัพเดตการติดตั้ง Tomcat แยกต่างหากในระบบจะไม่แก้ไขสำเนาในแพ็คเกจแอปพลิเคชัน
หลังจากอัปเดตรันไทม์แล้ว ให้ตรวจสอบ javax.net.ssl.trustStore ที่กำหนดเอง, KeyStore ที่โหลดเองของแอปพลิเคชัน, รันไทม์ jlink, GraalVM/อิมเมจดั้งเดิม และแบบฟอร์มการจัดส่งอื่นๆ ตามรายการ แอปพลิเคชันที่มีวัสดุที่เชื่อถือได้ที่ปรับแต่งแล้วไม่สามารถยุติการตรวจสอบได้เพียงเพราะไดเร็กทอรี 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() เป็นข้อมูลพาธดีฟอลต์ และไม่สามารถพิสูจน์ได้ว่าไคลเอ็นต์ของบริษัทอื่นทั้งหมดใช้ trust store เดียวกัน ควรได้รับการยืนยันตามการกำหนดค่าแอปพลิเคชัน
หลังจากเสร็จสิ้นการอัพเกรดบูต 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/framework
- อัปเดตรันไทม์ การขึ้นต่อกันของแอปพลิเคชัน และที่จัดเก็บที่เชื่อถือได้จริง รีเฟรชอิมเมจพื้นฐานและระบบ 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 ดีซีเรียลไลเซชัน | ระงับฟิลด์การเชื่อมต่อที่ได้รับผลกระทบ จำกัดผู้โทรที่ไม่น่าเชื่อถือ | ขีดจำกัดความยาวคำขอเท่านั้นไม่สามารถแก้ไขปัญหาประเภท/การดีซีเรียลไลซ์ S25 ได้ |
| Spring embedded LDAP | ปิดการใช้งานเมื่อไม่จำเป็น จำกัดการเข้าถึงพอร์ตการฟังที่แท้จริง | ยังคงต้องตรวจสอบข้อมูลระบุตัวตนของผู้ดูแลระบบและความสมบูรณ์ของไดเรกทอรีเริ่มต้น S27 |
| CPython SNI UAF | แผนอย่างเป็นทางการ: เก็บการอ้างอิงที่ชัดเจนของ SSLContext ที่เกี่ยวข้องไว้จนกระทั่งสิ้นสุดบริการ | เส้นทางการสร้าง/สวิตช์ทั้งหมดต้องครอบคลุม S29 |
| ข้ามชื่อโฮสต์ Python | วิธีแก้ปัญหาอย่างเป็นทางการ: ส่ง server_hostname ที่คาดไว้อย่างถูกต้อง | ไม่สามารถตรวจสอบการตั้งค่าสถานะ check_hostname หรือละเว้นคำเตือน S30S31 |
| ทาร์ตไม่น่าไว้วางใจ | ปิดใช้งาน/กักกันการแยกข้อมูล ปฏิเสธลิงก์ที่ไม่จำเป็นและรายการอุปกรณ์ | ทั้งตัวกรองและโควต้าทรัพยากรไม่ใช่แซนด์บ็อกซ์สากล S32S40S45 |
| เหตุการณ์ความน่าเชื่อถือของใบรับรอง | อัพเดตวัสดุ CA ที่ถูกต้อง ความน่าเชื่อถือ Java สามารถจำกัดได้ตามมาตรการบรรเทาผลกระทบอย่างเป็นทางการ | การปิดใช้งานการตรวจสอบ TLS เพิ่มความเสี่ยง S19S37 |
7.2 เลือกแพตช์ตามวิธีการจัดส่ง
| วิธีการจัดส่ง | จัดลำดับความสำคัญวิธีการซ่อมแซม | หลักฐานที่ควรเก็บไว้ |
|---|---|---|
| รันไทม์ที่จัดการโดยการกระจาย | การอัปเดตความปลอดภัยที่สอดคล้องกันของผู้ผลิต | เวอร์ชันแพ็คเกจเต็ม ประกาศ แหล่งเก็บข้อมูล |
| ผู้จัดการไบนารี / รันไทม์อย่างเป็นทางการ | การเผยแพร่ความปลอดภัยอย่างเป็นทางการจากสาขาเดียวกัน | เวอร์ชัน แหล่งที่มาและไดเจสต์ พาธการดำเนินการจริง |
| Node / CPython ที่คอมไพล์เอง | แหล่งที่มาอย่างเป็นทางการของสาขาที่ตรงกันหรือชุดแพตช์ทั้งหมดของผู้จำหน่าย | คอมมิทเซ็ต พารามิเตอร์บิลด์ ไลบรารีที่ขึ้นต่อกัน และผลลัพธ์การถดถอย |
| Spring / Next / Django | เข้ากันได้กับการอัปเดตในสาขา การสร้างการล็อคการขึ้นต่อกันใหม่และแอปพลิเคชันขั้นสุดท้าย | แผนผังการพึ่งพาขั้นสุดท้าย เวอร์ชันจริงใน JAR/แพ็คเกจ/อิมเมจ |
| ร้านค้าที่เชื่อถือได้ที่กำหนดเอง | แผนการถอนเงินอย่างเป็นทางการหรือการอัปเดตผู้ขายที่ยืนยันการถอนตัว | เส้นทางการใช้งานจริง การเปลี่ยนแปลงวัสดุ ความสำเร็จของ TLS และการทดสอบการปฏิเสธ |
| สภาพแวดล้อมที่ถูกบุกรุก | สร้างใหม่จากผลิตภัณฑ์ที่สะอาดและเชื่อถือได้ และดำเนินการสอบสวนเหตุการณ์แยกต่างหาก | ประวัติแพ็คเกจ/อิมเมจ บันทึกการติดตั้ง บันทึกการหมุนเวียนข้อมูลรับรอง |
กลไกการแก้ไขคีย์ 7.3 และจุดเน้นการตรวจสอบ
- Brotli: ให้ความสนใจว่าการตรวจสอบขอบเขตและการส่งคืนข้อผิดพลาดของสถานะการถอดรหัสดั้งเดิมนั้นเสร็จสมบูรณ์แล้วก่อนที่จะเข้าสู่บิลด์หรือไม่ การแทนที่แพ็คเกจ JavaScript เท่านั้นไม่สามารถเปลี่ยนโค้ดที่คอมไพล์แบบคงที่เป็น Node ได้ S4
- Node DNS/TLS: มุ่งเน้นไปที่การปฏิเสธอินพุต, การทำให้ที่อยู่เป็นมาตรฐาน, ความแตกต่างระหว่างข้อมูลประจำตัว IP SAN และ DNS และการโทรกลับ/สัญญา DNS เส้นทางการแยกวิเคราะห์และ การทดสอบการจับคู่ชื่อโฮสต์ TLS S5S6
- Tomcat JNDIRealm: มุ่งเน้นไปที่ว่ากระบวนการพิสูจน์ตัวตนจะตรวจสอบข้อมูลรับรองจริงหรือไม่ แทนที่จะเพียงได้รับบริบทไดเร็กทอรี จัดลำดับความสำคัญของเวอร์ชันอย่างเป็นทางการและไม่ถือว่าการแทนที่ไฟล์ต้นฉบับเดียวเป็นแพตช์ไบนารีที่สมบูรณ์ S24
- CPython ssl: มุ่งเน้นไปที่ความเป็นเจ้าของอ้างอิง Python และวงจรชีวิตของ SSLContext ที่เกี่ยวข้อง
wrap_bio()แบ็คพอร์ตในขณะที่มีความแตกต่างด้านความเข้ากันได้ของสาขา และคุณต้องอ่านการใช้งานจริงของสาขาที่ใช้ S31S47 - Certificate ไม่ไว้วางใจ: การอัปเดตดังกล่าวอาจปรากฏเป็นเนื้อหาที่เชื่อถือได้หรือปฏิเสธการเปลี่ยนแปลงรายการ แทนที่จะเป็นการเปลี่ยนแปลง API ที่ชัดเจน ชุดเดียวกันของ Node ยังมีกลไกการปฏิเสธของ CA ระดับกลางที่ได้รับผลกระทบอีกด้วย แหล่งที่เชื่อถือได้ของ Java และ Python ยังคงต้องมีการตรวจสอบแยกกัน S19S37S46
ควรตรวจสอบการเชื่อมโยง อิสระ BrotliGoogle ต้นน้ำออก 1.0.10 / 1.1.1 / 1.2.1 ในวันเดียวกันเพื่อแก้ไข CVE-2026-111497 ส่วนขยายดั้งเดิม Python หรือสิ่งประดิษฐ์ JNI ที่ฝังการใช้งาน C ที่ได้รับผลกระทบแบบเดียวกันนั้นจำเป็นต้องได้รับการอัปเดต/สร้างใหม่โดยอิสระ ไม่สามารถอนุมานได้ว่าตัวถอดรหัส Java ล้วนๆ ทั้งหมดได้รับผลกระทบ และไม่สามารถสันนิษฐานได้ว่าการอัพเกรด Node จะแทนที่สำเนาในภาษาอื่นโดยอัตโนมัติ S42
8. การตรวจสอบและติดตามผล
8.1 รายการตรวจสอบการตรวจสอบขั้นต่ำ
| ตรวจสอบรายการ | หลักฐานที่จำเป็น |
|---|---|
| รันไทม์ | เวอร์ชันเต็มหรือหลักฐาน Backport ของผู้ขายถูกต้องในกระบวนการ/คอนเทนเนอร์จริง |
| การพึ่งพาแอปพลิเคชัน | Next/RSC/sharp, Tomcat/Spring และ Django/certifi ในผลิตภัณฑ์การปรับใช้ขั้นสุดท้ายถึงเกณฑ์ที่สอดคล้องกันแล้ว |
| ช่วงทดแทน | สำเนาของผู้ปฏิบัติงาน/JVM/คอนเทนเนอร์และงานพื้นหลังทั้งหมดถูกแทนที่ด้วยงานใหม่ และอินสแตนซ์เก่าได้ออกจากการทำงานแล้ว |
| TLS | ใบรับรองโดเมนที่ถูกต้องสำเร็จ ชื่อโฮสต์ที่ไม่ตรงกันและเครือข่ายที่ไม่ถูกต้องล้มเหลวตามนโยบาย รวมถึงร้านค้าที่เชื่อถือได้ที่กำหนดเองด้วย |
| eMudhra ไม่ไว้วางใจ | สายใบรับรองที่สร้างโดย CA ระดับกลางที่ได้รับผลกระทบถูกปฏิเสธในระหว่างรันไทม์จริง หรือมีหลักฐานว่ารายการปฏิเสธการสร้าง/การปฏิเสธที่สอดคล้องกันของผู้จำหน่ายเฉพาะรายได้รับการปรับใช้แล้ว ไม่สามารถปิดเคสได้ตามการทดสอบ TLS ทั่วไปหรือหมายเลขเวอร์ชันสั้น Java 8 |
| การถอดรหัสและรูปภาพ Node | มีการตอบสนองการบีบอัดปกติ การอัปโหลด การเพิ่มประสิทธิภาพรูปภาพ และฟังก์ชัน RSC นโยบายแหล่งที่มาที่ไม่น่าเชื่อถือมีผลแล้ว |
| การตรวจสอบสิทธิ์และการแยก Java | รหัสผ่านผิดถูกปฏิเสธ คำขอแบบอะซิงโครนัสของผู้ใช้อิสระพร้อมกันโดยไม่มีการผสมข้อมูลประจำตัว/การตอบสนอง LDAP กำลังฟังตามที่คาดไว้ |
| Python SNI / เอกสารเก่า | ธุรกิจชื่อหลายโดเมนปกติ TLS มีความเสถียร การเก็บถาวรจะปฏิเสธการข้ามเส้นทางและลิงก์ที่ไม่ได้รับอนุญาต และไฟล์ที่อยู่นอกไดเร็กทอรีจะไม่ถูกแก้ไข |
| ข้อมูลและการถดถอยเชิงฟังก์ชัน | การเพจ การสืบค้นเชิงพื้นที่ การตรวจสอบสิทธิ์ และงานพื้นหลังผ่านการทดสอบที่มีอยู่ของโปรเจ็กต์ |
| แหล่งข้อมูลและการสังเกต | ไม่มีการเพิ่มขึ้นอย่างผิดปกติในข้อผิดพลาด CPU หน่วยความจำ อัตราข้อผิดพลาด เวลาแฝง และข้อผิดพลาด TLS |
| การตรวจสอบย้อนกลับ | ประหยัดเวลาในการอัพเกรด การสรุปแพ็คเกจ/รูปภาพ การเปลี่ยนแปลงการกำหนดค่า ผลการตรวจสอบ และรายการที่ยังไม่ได้รับการแก้ไข |
คำแนะนำเหล่านี้เป็นคำแนะนำในการยอมรับการใช้งานและไม่จำเป็นต้องมีการสร้างสคริปต์โจมตีสำหรับ CVE แต่ละตัว การตรวจสอบที่เกี่ยวข้องกับข้อขัดข้อง ความสิ้นเปลืองทรัพยากร และการเก็บถาวรนอกขอบเขตควรใช้การทดสอบการถดถอยอัปสตรีมหรือข้อมูลการทดสอบที่ควบคุมโครงการในสภาพแวดล้อมที่แยกจากกัน
8.2 Patching และการตรวจสอบการบุกรุกเป็นงานที่แตกต่างกัน
ตรวจสอบบันทึกที่มีอยู่เพื่อหาข้อผิดพลาดในการถอดรหัสที่ผิดปกติ การขัดข้องของผู้ปฏิบัติงาน/JVM การเขียนไฟล์ที่น่าสงสัย การเปลี่ยนแปลงข้อมูลไดเรกทอรี ข้อยกเว้นในการตรวจสอบสิทธิ์ คำขอขาออก และบันทึกการใช้ข้อมูลรับรอง สัญญาณเหล่านี้จำเป็นต้องได้รับการตัดสินตามบริบท: การหยุดทำงานหรือ OOM ไม่ใช่ข้อพิสูจน์ถึงความสำเร็จในการแสวงหาผลประโยชน์ การไม่มีการแจ้งเตือนไม่ได้พิสูจน์ว่าระบบไม่ได้รับผลกระทบ
เมื่อมีการค้นพบการแก้ไขที่ไม่ได้รับอนุญาต ข้อมูลประจำตัวที่ถูกบุกรุก หรือการยืนยันการพึ่งพาที่เป็นอันตราย หลักฐานควรได้รับการเก็บรักษา อินสแตนซ์ที่เกี่ยวข้องที่แยกออก ข้อมูลรับรองที่ได้รับผลกระทบจะถูกหมุนเวียนจากสภาพแวดล้อมที่เชื่อถือได้ และสร้างระบบขึ้นมาใหม่ แพทช์จะไม่เพิกถอนโทเค็นที่ผู้โจมตีได้รับหรือกู้คืนข้อมูลที่ได้รับการแก้ไข
9. เหตุการณ์ด้านความปลอดภัยในห่วงโซ่อุปทาน: LiteLLM 1.107.0 ประนีประนอม
**วันที่ยืนยันอย่างเป็นทางการ: 2026-10-21.**LiteLLM รายงานว่าขั้นตอนการเปิดตัวถูกบุกรุก litelm==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 ตุลาคม 2569 เจ้าหน้าที่ยังคงสอบสวนการบุกรุกครั้งแรก
ภาคผนวก: แหล่งอ้างอิงและลิงก์
วันที่ตรวจสอบแหล่งที่มาต่อไปนี้คือ 2026-10-23 รวมถึงประกาศด้านความปลอดภัยอย่างเป็นทางการของโครงการ ที่เก็บรหัสอย่างเป็นทางการ และคำแนะนำของผู้จำหน่าย ข้อความหลัก [Sx] สอดคล้องกับภาคผนวกนี้ เมื่อดำเนินการอัปเดต คุณควรตรวจสอบว่าซัพพลายเออร์ได้เผยแพร่การแก้ไขในภายหลังหรือไม่
S1 — Node.js: 2026-10-21 ประกาศด้านความปลอดภัย
- วัตถุประสงค์: รันไทม์สี่รายการ High ส่งผลต่อสาขา การเผยแพร่ด้านความปลอดภัยเดือนตุลาคม
- แหล่งอ้างอิง: Official Security Bulletin
S2 — Node.js: คำแนะนำการเผยแพร่อย่างเป็นทางการสำหรับสายการบำรุงรักษา 3 สาย
- วัตถุประสงค์: ตรวจสอบ 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: อัปเดตความปลอดภัย 10-10-2569
- วัตถุประสงค์: รวมพื้นฐานการอัปเกรดและความเสี่ยงหลักสามประการเข้าด้วยกัน
- แหล่งอ้างอิง: 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
- วัตถุประสงค์: 25-08-2026, GHSA-2xp9-vwfh-vxw4.
- แหล่งอ้างอิง: AVIF Official Security Bulletin
แหล่งอ้างอิง: S14 — Next.js:Windows RCE
- วัตถุประสงค์: 25-08-2026, CVE-2026-75604/GHSA-p293-qw3h-jr36.
- แหล่งอ้างอิง: Windows RCE Official Security Bulletin
แหล่งอ้างอิง: S15 — Next.js:next/og ImageResponse RCE
- วัตถุประสงค์: 22-09-2026, 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-2569, ความเสี่ยงด้านความน่าเชื่อถือของใบรับรอง 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 แผนการถอนเงินชั่วคราว
- วัตถุประสงค์: อัปเดตเมื่อ 22-10-2569; ใบรับรองหลักสองรายการ, keytool, truststore แบบกำหนดเอง และการตรวจสอบการเพิกถอน
- แหล่งอ้างอิง: 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-2026 จำเป็น 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 ที่ปรึกษาด้านความปลอดภัยอิสระ
- วัตถุประสงค์: 30-09-2026, 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 ที่ปรึกษาด้านความปลอดภัยอิสระ
- วัตถุประสงค์: 14-09-2026, 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
- วัตถุประสงค์: 20-10-2026, 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 ล่าสุด
- วัตถุประสงค์: 22-10-2569, 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