ด่วน! แจ้งเตือนช่องโหว่ใน NGINX อาจทำให้ระบบหยุดให้บริการ หรือรันโค้ดได้ภายใต้เงื่อนไขบางประการ
-
ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ข่าวสารภัยคุกคามทางไซเบอร์ และพบรายงานการค้นพบช่องโหว่ด้านความมั่นคงปลอดภัยใน NGINX Web Server ซึ่งเป็นซอฟต์แวร์ Web Server และ Reverse Proxy ที่มีการใช้งานอย่างแพร่หลาย โดยบริษัท Depth First ได้เปิดเผยช่องโหว่หลายรายการที่ส่งผลกระทบต่อ NGINX Open Source โดยเฉพาะช่องโหว่ CVE-2026-42945 ใน ngx_http_rewrite_module ซึ่งอาจทำให้ NGINX worker process หยุดทำงาน หรืออาจนำไปสู่การรันโค้ดได้ภายใต้เงื่อนไขบางประการ จึงขอให้ผู้ดูแลระบบเร่งตรวจสอบเวอร์ชัน การตั้งค่า และอัปเดตแพตช์ตามคำแนะนำของผู้ผลิต [1]
-
รายละเอียดช่องโหว่[2]
1.1 CVE-2026-42945 (CVSS v3.1: 8.1) [3]
เป็นช่องโหว่ประเภท Heap Buffer Overflow ใน ngx_http_rewrite_module โดยเกี่ยวข้องกับการทำงานของ rewrite และ set directive รวมถึงการใช้ตัวแปรจากการจับกลุ่มแบบ unnamed capture เช่น $1 หรือ $2 ในบางรูปแบบการตั้งค่า ผู้โจมตีที่ไม่ต้องยืนยันตัวตนอาจส่ง HTTP request ที่สร้างขึ้นเป็นพิเศษ เพื่อทำให้ NGINX worker process หยุดทำงาน และในบางเงื่อนไขอาจนำไปสู่การรันโค้ดบนระบบได้
1.2 CVE-2026-42946 (CVSS v3.1: 6.5) [4]
เป็นช่องโหว่ใน ngx_http_scgi_module และ ngx_http_uwsgi_module ที่เกิดจากการจัดการ upstream response ไม่เหมาะสม อาจทำให้เกิดการใช้หน่วยความจำผิดปกติ หรือเกิดการอ่านข้อมูลในหน่วยความจำของ NGINX worker process เกินขอบเขต ส่งผลให้ worker process หยุดทำงานหรืออาจเกิดการเปิดเผยข้อมูลบางส่วนในหน่วยความจำได้ ภายใต้เงื่อนไขที่มีการใช้งาน scgi_pass หรือ uwsgi_pass
1.3 CVE-2026-40701 (CVSS v3.1: 4.8) [5]
เป็นช่องโหว่ประเภท Use-After-Free ใน ngx_http_ssl_module ซึ่งเกี่ยวข้องกับการใช้งาน TLS, OCSP และการตรวจสอบ client certificate ในบางรูปแบบการตั้งค่า หาก TLS connection ถูกปิดก่อนกระบวนการ asynchronous OCSP DNS resolution เสร็จสมบูรณ์ อาจทำให้ worker process อ้างอิงหน่วยความจำที่ถูกคืนไปแล้ว และส่งผลให้เกิดการทำงานผิดพลาดหรือ worker process restart ได้
1.4 CVE-2026-42934 (CVSS v3.1: 4.8) [6]
เป็นช่องโหว่ประเภท Out-of-Bounds Read ใน ngx_http_charset_module เกิดจากข้อผิดพลาดในการจัดการ UTF-8 sequence ที่ไม่สมบูรณ์ระหว่าง proxy buffer boundaries ในบางรูปแบบการตั้งค่า อาจทำให้ระบบอ่านข้อมูลหน่วยความจำเกินขอบเขต ส่งผลให้เกิดการเปิดเผยข้อมูลในหน่วยความจำอย่างจำกัด หรือทำให้ worker process restart ได้ -
ผลิตภัณฑ์ที่ได้รับผลกระทบ [7]
2.1 NGINX Open Source เวอร์ชัน 0.6.27 – 1.30.0
2.2 ระบบที่มีการใช้งาน ngx_http_rewrite_module และมี rewrite rule ที่เข้าเงื่อนไข
2.3 ระบบที่มีการใช้งาน scgi_pass หรือ uwsgi_pass
2.4 ระบบที่เปิดใช้งาน SSL/OCSP และ client certificate verification ตามเงื่อนไขที่ได้รับผลกระทบ
2.5 ระบบที่ใช้งาน charset conversion และ proxy buffering ตามเงื่อนไขที่ได้รับผลกระทบ -
แนวทางการแก้ไข
3.1 อัปเดต NGINX เป็นเวอร์ชันที่ได้รับการแก้ไขแล้ว เช่น NGINX Open Source 1.30.1 stable หรือ 1.31.0 mainline หรือใหม่กว่า
3.2 ตรวจสอบ configuration ของ ngx_http_rewrite_module โดยเฉพาะ rewrite rule ที่ใช้ unnamed capture เช่น $1 หรือ $2
3.3 หากยังไม่สามารถอัปเดตได้ทันที ให้ปรับ rewrite rule โดยหลีกเลี่ยงรูปแบบที่เข้าเงื่อนไข และพิจารณาใช้ named capture แทน
3.4 ตรวจสอบการใช้งาน scgi_pass, uwsgi_pass, SSL/OCSP, charset conversion และ proxy buffering ว่าตรงกับเงื่อนไขช่องโหว่หรือไม่
3.5 เฝ้าระวัง log ผิดปกติ การ restart หรือ crash ของ worker process และคำขอ HTTP ที่ผิดปกติซึ่งเกี่ยวข้องกับโมดูลที่ได้รับผลกระทบ
3.6 เปิดใช้งานมาตรการป้องกันหน่วยความจำ เช่น ASLR และจำกัดสิทธิ์ของ service process ตามหลัก Least Privilege -
มาตรการชั่วคราวหากยังไม่สามารถอัปเดตได้ทันที
4.1 จำกัดการเข้าถึงบริการ NGINX จากอินเทอร์เน็ตเฉพาะที่จำเป็น
4.2 ตรวจสอบและลดการใช้งาน rewrite rule ที่เข้าเงื่อนไข โดยเฉพาะ rule ที่ใช้ $1, $2 หรือ replacement string ที่มีเครื่องหมาย ?
4.3 พิจารณาปิดหรือจำกัดการใช้งาน scgi_pass, uwsgi_pass, SSL/OCSP หรือ charset conversion ที่ไม่จำเป็น หลังประเมินผลกระทบต่อระบบ
4.4 เปิดใช้ ASLR และมาตรการ hardening อื่น ๆ ของระบบปฏิบัติการ
4.5 เฝ้าระวังการ restart ของ worker process การใช้หน่วยความจำผิดปกติ และ HTTP request ที่มีลักษณะผิดปกติ

แหล่งอ้างอิง
[1] https://dg.th/evl9wbh1g0
[2] https://dg.th/9fbo7qn4id
[3] https://dg.th/cmtunbh2dy
[4] https://dg.th/p4mxew3thg
[5] https://dg.th/m74zfgc18u
[6] https://dg.th/1kt5x3qzyl
[7] https://dg.th/871rkqmdt0 -