แจ้งเตือน! ช่องโหว่ HTTP Desynchronization เปิดทางให้ผู้โจมตีแทรกแซงคำขอ HTTP เสี่ยงต่อการเข้าถึงข้อมูลโดยไม่ได้รับอนุญาต

ยอดเข้าชม: 44 views

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ขอแจ้งเตือนผู้ดูแลระบบ Web Application, Reverse Proxy, Load Balancer และระบบที่มีการรับส่งข้อมูลผ่าน HTTP ให้ตรวจสอบการตั้งค่าการประมวลผล HTTP Request หลังมีการเปิดเผยเทคนิค HTTP Desynchronization (HTTP Desync) ซึ่งอาจทำให้ระบบ Front-end และ Back-end ตีความข้อมูล HTTP Request ที่ได้รับแตกต่างกัน และอาจนำไปสู่การแทรกแซง Request เพื่อเข้าถึงข้อมูล หรือส่งผลกระทบต่อ Session ของผู้ใช้งาน

1. รายละเอียดช่องโหว่ [1][2]

ผู้เชี่ยวชาญด้านความมั่นคงปลอดภัยเปิดเผยช่องโหว่ HTTP Desynchronization ซึ่งเกิดจากความแตกต่างในการตีความขอบเขตของ HTTP Request ระหว่างระบบ Front-end เช่น Reverse Proxy, Load Balancer, CDN หรือ Web Application Firewall กับระบบ Back-end Server ส่งผลให้ข้อมูลบางส่วนของ Request ที่ผู้โจมตีสร้างขึ้นอาจถูกตีความเป็นส่วนหนึ่งของ Request ถัดไป ทำให้ Request หรือ Response ของผู้ใช้งานที่ใช้ Connection ร่วมกันเกิดการสับเปลี่ยนหรือถูกแทรกแซงได้

ทั้งนี้ กระบวนการตรวจสอบยังนำไปสู่การค้นพบช่องโหว่ HTTP Desynchronization แบบ Zero-Day ใน Apache Traffic Server ซึ่งได้รับการติดตามภายใต้หมายเลข CVE-2026-63078 [3] แล้วโดยการค้นพบดังกล่าวเกิดขึ้นจากการใช้ HTTP Terminator ซึ่งเป็นระบบที่พัฒนาโดย PortSwigger และนำปัญญาประดิษฐ์ (AI) มาช่วยในการค้นหาและทดสอบรูปแบบ HTTP Request ที่อาจก่อให้เกิดช่องโหว่ สะท้อนให้เห็นว่า AI สามารถถูกนำมาใช้สนับสนุนการค้นหาและพัฒนาเทคนิคการโจมตีรูปแบบใหม่ได้ จึงขอให้ผู้ดูแลระบบติดตาม ตรวจสอบ และเฝ้าระวังความเสี่ยงจากช่องโหว่ดังกล่าวอย่างใกล้ชิด

2. ระบบที่อาจได้รับผลกระทบ

ระบบที่ควรตรวจสอบได้แก่

2.1 Web Application ที่มี Reverse Proxy, Load Balancer, CDN หรือ Web Application Firewall

2.2 ระบบที่ใช้ HTTP/1.1 สำหรับการเชื่อมต่อระหว่าง Front-end และ Back-end (Upstream Connection)

2.3 ระบบที่ Front-end และ Back-end ใช้ HTTP Parser หรือซอฟต์แวร์ที่แตกต่างกัน ซึ่งอาจทำให้เกิดการตีความ HTTP Request ไม่สอดคล้องกันภายใน

2.4 ระบบที่ยอมรับ HTTP Request ที่ไม่ได้มาตราฐาน เช่น มี Content-Length หลายรายการ หรือมีการใช้ Content-Length และ Transfer-Encoding ร่วมกัน

2.5 ระบบที่อนุญาตให้ HTTP Method เช่น GET, HEAD หรือ OPTIONS มี Request Body โดยไม่มีความจำเป็น

2.6 ระบบที่ใช้งาน Apache Traffic Server ควรตรวจสอบรายละเอียดของ CVE-2026-63078 และประกาศด้านความมั่นคงปลอดภัยจากผู้พัฒนา

3. ผลกระทบที่อาจเกิดขึ้น

หากผู้โจมตีสามารถใช้ประโยชน์จาก HTTP Desynchronization ได้สำเร็จ อาจนำไปสู่ผลกระทบ ดังนี้

3.1 แทรกหรือเปลี่ยนแปลง HTTP Request ของผู้ใช้งานรายอื่น

3.2 ทำให้ Response ถูกส่งไปยังผู้ใช้งานที่ไม่ถูกต้อง

3.3 เข้าถึงข้อมูลโดยไม่ได้รับอนุญาต

3.4 เข้าถึงข้อมูลสำคัญ เช่น Session Cookies, Authentication Tokens หรือ API Keys ในบางสถานการณ์

3.5 ยึด Session หรือบัญชีของผู้ใช้งาน

3.6 ดำเนินการโจมตีแบบ Web Cache Poisoning

3.7 ดำเนินการโจมตีแบบ Response Queue Poisoning (RQP)

3.8 ใช้เป็นช่องทางในการขยายผลการโจมตีต่อ Web Application หรือระบบ Back-end

4. แนวทางการตรวจสอบและป้องกัน [4]

4.1 พิจารณาใช้ HTTP/2 หรือสูงกว่า สำหรับการเชื่อมต่อระหว่าง Front-end และ Back-end เพื่อลดความเสี่ยงจากการตีความขอบเขต Request ที่ไม่สอดคล้องกันใน HTTP/1.1

4.2 ตรวจสอบการตั้งค่าของ Reverse Proxy, Load Balancer, CDN, WAF และ Back-end Server ให้มีการประมวลผล HTTP Request อย่างสอดคล้องกัน โดยเฉพาะ Header ที่เกี่ยวข้องกับการกำหนดขอบเขตของ Request เช่น Content-Length และ Transfer-Encoding

4.3 ปฏิเสธ HTTP Request ที่มีโครงสร้างผิดปกติ โดยกำหนดให้ระบบตรวจสอบและปฏิเสธ Request ที่มีลักษณะ เช่น

– มี Content-Length มากกว่าหนึ่งรายการโดยไม่มีความจำเป็น

– มีค่า Content-Length ที่ไม่สอดคล้องกัน

– มีการใช้ Content-Length และ Transfer-Encoding ร่วมกันในลักษณะที่ทำให้เกิดความคลุมเครือ

– มี HTTP Header หรือโครงสร้าง Request ที่ไม่เป็นไปตามมาตรฐาน

4.4 กำหนด Allow-list ของ HTTP Method ทั้งใน Front-end และ Back-end โดยอนุญาตเฉพาะ Method ที่จำเป็นต่อการให้บริการ

นอกจากนี้ ควรกำหนดให้เฉพาะ Method ที่จำเป็น เช่น POST, PUT หรือ PATCH สามารถมี Request Body ได้ ส่วน GET, HEAD และ OPTIONS ไม่ควรอนุญาตให้มี Request Body หากไม่มีความจำเป็น

4.5 ตรวจสอบ Access Logs, Reverse Proxy Logs, WAF Logs และ Back-end Server Logs เพื่อค้นหา Request ที่มีลักษณะผิดปกติ เช่น

– พบ Content-Length หลายรายการใน Request เดียวกัน

– พบทั้ง Content-Length และ Transfer-Encoding ในลักษณะที่ผิดปกติ

– HTTP Method ที่ปกติไม่ควรมี Request Body แต่พบข้อมูลอยู่ใน Body

– Request หรือ Response ภายใน Connection เดียวกันมีลำดับผิดปกติ

– Front-end และ Back-end บันทึกจำนวนหรือขอบเขตของ Request ไม่สอดคล้องกัน

4.6 ตรวจสอบและอัปเดต Reverse Proxy, Load Balancer, CDN, Web Server และ Web Application Firewall ให้เป็นเวอร์ชันล่าสุด โดยเฉพาะผลิตภัณฑ์ที่มีประกาศเกี่ยวกับ HTTP Request Smuggling หรือ HTTP Desynchronization

สำหรับผู้ใช้งาน Apache Traffic Server ควรตรวจสอบรายละเอียด CVE-2026-63078 และดำเนินการตามคำแนะนำด้านความมั่นคงปลอดภัยจากผู้พัฒนา

แหล่งอ้างอิง

[1] https://dg.th/b9iqey452f

[2] https://dg.th/oelbdac436

[3] https://dg.th/x5eprnzcwf

[4] https://dg.th/4vjkps5c2i