พบช่องโหว่อายุ 18 ปีบน NGINX ส่งผลให้ถูกโจมตี DoS และอาจถูก RCE ได้

นักวิจัยด้านความปลอดภัยพบช่องโหว่ Critical บน NGINX Web Server ที่ฝังอยู่ในโค้ดมานานกว่า 18 ปี โดยสามารถถูกใช้โจมตีแบบ Denial of Service (DoS) ได้ และอาจนำไปสู่การรันโค้ดจากระยะไกล (RCE) ภายใต้เงื่อนไขบางประการ

Credit: ShutterStock.com

ช่องโหว่นี้ถูกติดตามในรหัส CVE-2026-42945 ด้วยคะแนน CVSS 9.2 ระดับ Critical เป็นช่องโหว่ประเภท Heap Buffer Overflow ใน ngx_http_rewrite_module ที่ส่งผลกระทบตั้งแต่ NGINX version 0.6.27 ถึง 1.30.0 ช่องโหว่นี้ถูกค้นพบโดยทีมวิจัยจาก DepthFirst AI ผ่านระบบสแกนอัตโนมัติ โดยในเซสชันเดียวกันยังพบช่องโหว่ Memory Corruption อีก 3 รายการ ได้แก่ CVE-2026-42946, CVE-2026-40701 และ CVE-2026-42934 ซึ่งครอบคลุมปัญหาตั้งแต่การจองหน่วยความจำมากเกินไปในโมดูล SCGI/UWSGI, Use-after-free ในการจัดการ OCSP DNS Resolution ไปจนถึงบั๊ก Off-by-one ในการ Parse UTF-8

สาเหตุของช่องโหว่เกิดจากการจัดการ State ที่ไม่สอดคล้องกันใน Script Engine ภายในของ NGINX ซึ่งประมวลผล Rewrite ใน 2 รอบ คือรอบแรกคำนวณขนาดหน่วยความจำที่ต้องจอง และรอบที่สองคัดลอกข้อมูลจริง ปัญหาเกิดขึ้นเมื่อ is_args flag ยังคงถูกตั้งค่าอยู่หลังจากการ Rewrite ที่มีเครื่องหมาย ? ทำให้คำนวณขนาด Buffer จาก URI ที่ไม่ได้ Escape แต่เขียนข้อมูลที่ Escape แล้วซึ่งมีขนาดใหญ่กว่า จนเกิด Heap Buffer Overflow ทั้งนี้ช่องโหว่จะถูกกระตุ้นเมื่อ Configuration ของ NGINX ใช้ทั้ง Directive rewrite และ set ร่วมกัน ซึ่งเป็นรูปแบบที่พบได้ทั่วไปใน API Gateway และ Reverse Proxy อย่างไรก็ตาม มีข้อสังเกตว่าการโจมตีแบบ RCE ในสภาพแวดล้อมจริงนั้นทำได้ยาก เนื่องจาก Proof-of-Concept ที่เผยแพร่ทดสอบบนระบบที่ปิด ASLR (Address Space Layout Randomization) ซึ่งโดยปกติจะเปิดใช้งานเป็นค่าเริ่มต้น ทาง AlmaLinux ยืนยันในรายงานว่าการทำ DoS โดยการ Crash Worker Process นั้นทำได้ง่ายและเชื่อถือได้ แต่การเปลี่ยน Heap Overflow ให้กลายเป็น RCE ที่เชื่อถือได้บนระบบที่เปิด ASLR นั้นไม่ใช่เรื่องง่าย

ตามประกาศของ F5 ช่องโหว่ดังกล่าวส่งผลกระทบต่อหลายผลิตภัณฑ์ ได้แก่ NGINX Open Source 0.6.27 ถึง 1.30.0, NGINX Plus R32 ถึง R36, NGINX Instance Manager, F5 WAF for NGINX, NGINX App Protect WAF, NGINX Gateway Fabric และ NGINX Ingress Controller เป็นต้น F5 ได้ปล่อยแพตช์แก้ไขใน NGINX Open Source 1.31.0 และ 1.30.1, NGINX Plus R36 P4 และ R32 P6 แล้ว สำหรับผู้ที่ยังไม่สามารถอัปเดตได้ F5 แนะนำให้เปลี่ยนจากการใช้ Unnamed PCRE Capture Group ($1, $2 เป็นต้น) ใน Rewrite Rule เป็น Named Capture แทน ซึ่งจะช่วยตัดเงื่อนไขหลักในการโจมตีออกไปได้ แนะนำให้ผู้ดูแลระบบที่ใช้งาน NGINX ตรวจสอบ Configuration และดำเนินการแพตช์โดยด่วน

ที่มา: https://www.bleepingcomputer.com/news/security/18-year-old-nginx-vulnerability-allows-dos-potential-rce/

About เด็กฝึกงาน TechTalkThai หมายเลข 1

นักเขียนผู้มีความสนใจใน Enterprise IT ด้วยประสบการณ์กว่า 10 ปีในไทย ปัจจุบันใช้ชีวิตอยู่ที่สหรัฐอเมริกา แต่ยังคงมุ่งมั่นในการแบ่งปันความรู้และประสบการณ์ด้านเทคโนโลยีให้กับทุกคน

Check Also

ETDA เดินหน้า Digital ID ยกระดับ Trust Infrastructure ไทยเชื่อม e-Service รัฐ แล้ว 1,797 บริการเร่งปลดล็อกขยายการใช้งานในกลุ่มนิติบุคคล ต่างด้าวและกลุ่มเปราะบาง [PR]

ดร.ชัยชนะ มิตรพันธ์ ผู้อำนวยการ สำนักงานพัฒนาธุรกรรมทางอิเล็กทรอนิกส์ หรือ ETDA กระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม กล่าวว่า จากนโยบายผลักดันการดำเนินงานของกระทรวงดิจิทัลเพื่อเศรษฐกิจและสังคม (MDES) เพื่อให้กระบวนการพิสูจน์และยืนยันตัวตนดิจิทัล หรือ Digital ID เป็นโครงสร้างพื้นฐานความเชื่อมั่นของประเทศ …

Anthropic เตือนทั่วโลกหยุดพัฒนา AI ชั่วคราว ก่อนมนุษย์จะสูญเสียการควบคุม

Anthropic ได้ส่งสัญญาณเตือนภัยเกี่ยวกับความเร็วในการพัฒนาของปัญญาประดิษฐ์ที่ก้าวหน้าอย่างรวดเร็ว พร้อมทั้งเรียกร้องให้ห้องแล็บ AI ชั้นนำของโลกพิจารณาเหยียบเบรก