สรุปสั้น

เทคนิคการโจมตีแบบ denial-of-service (DoS) ตัวใหม่ที่ถูกตั้งชื่อว่า HTTP/2 Bomb สามารถยิงจากเครื่องเดียวเพื่อล่มเว็บเซิร์ฟเวอร์ได้ภายในไม่กี่วินาที โดยเทคนิคนี้ทำงานกับค่าตั้งค่า HTTP/2 เริ่มต้นของเว็บเซิร์ฟเวอร์รายใหญ่ ทั้ง NGINX, Apache HTTP Server, Microsoft IIS, Envoy และ Cloudflare Pingora

เทคนิคนี้ถูกค้นพบโดย Codex software agent ของ OpenAI ภายใต้การชี้นำของนักวิจัยจากบริษัท offensive security ชื่อ Calif โดย HTTP/2 Bomb ผสานสองวิธี DoS ของ HTTP/2 ที่รู้จักมาก่อนเข้าด้วยกัน คือ HPACK compression amplification และการกักทรัพยากรแบบ Slowloris ผ่านการ stall flow-control ของ HTTP/2 เมื่อรวมกันแล้ว ไคลเอนต์เดียวบนการเชื่อมต่อ 100 Mbps สามารถดูด RAM นับสิบกิกะไบต์ได้ในไม่กี่วินาที บังคับให้เซิร์ฟเวอร์จัดสรรแล้วป้องกันไม่ให้คืน

นักวิจัยระบุว่า “คอมพิวเตอร์บ้านบนการเชื่อมต่อ 100Mbps สามารถทำให้เซิร์ฟเวอร์ที่มีช่องโหว่เข้าถึงไม่ได้ภายในไม่กี่วินาที สำหรับ Apache httpd และ Envoy ไคลเอนต์เดียวสามารถกินและกัก RAM 32GB ได้ในราว 20 วินาที” โดยปัญหาได้รับการแก้ไขแล้วใน nginx 1.29.8 และ Apache httpd mod_http2 2.0.41 (รหัส CVE-2026-49975) แต่ IIS, Envoy และ Pingora ยังไม่มีแพตช์

รายละเอียดข่าว

เว็บไซต์ BleepingComputer รายงานเมื่อวันที่ 3 มิถุนายน 2569 ว่ามีการค้นพบเทคนิค DoS ใหม่ชื่อ HTTP/2 Bomb ที่ล่มเว็บเซิร์ฟเวอร์ได้จากเครื่องเดียวในไม่กี่วินาที กระทบค่าตั้งเริ่มต้นของเว็บเซิร์ฟเวอร์รายใหญ่หลายตัว

HTTP/2 Bomb ใช้ประโยชน์จากกลไก HPACK ที่โปรโตคอล HTTP/2 ใช้บีบอัด header โดยแทรก header เข้าไปใน HPACK dynamic table แล้วอ้างอิงซ้ำ ๆ ผ่าน indexed representation ขนาดกะทัดรัดที่อาจมีขนาดเพียง 1 byte ผลคือ 1 byte ที่ผู้โจมตีส่งไปสามารถทำให้เซิร์ฟเวอร์จัดสรรหน่วยความจำหลายพัน byte โดย Envoy และ Apache httpd แสดงอัตราที่แย่ที่สุดที่ 5,700:1 และ 4,000:1 ตามลำดับ

ส่วนที่สองของการโจมตีคือการป้องกันไม่ให้หน่วยความจำถูกคืนหลังคำขอเสร็จสิ้น ทำได้โดยการประกาศ flow-control window ขนาด 0 byte แทนที่จะส่ง response เซิร์ฟเวอร์จะส่ง WINDOW_UPDATE frame ขนาดเล็กเป็นระยะเพื่อเลี่ยง timeout ในสถานการณ์นี้คำขอจะไม่เสร็จสมบูรณ์ และหน่วยความจำที่จัดสรรจะเพิ่มขึ้นเรื่อย ๆ โดยไม่ถูกคืน นักวิจัย Calif อธิบายว่าวิธีนี้ข้ามการป้องกันที่มีอยู่ เช่น การจำกัดขนาด decoded header รวม เพราะค่า header ที่ใช้มีขนาดเล็กมาก และการขยายมาจาก bookkeeping และการจัดสรรหน่วยความจำภายในต่อ header

จากการทดสอบกับเว็บเซิร์ฟเวอร์หลัก 4 ตัว นักวิจัยได้ผลคือ Envoy 1.37.2 หมด RAM 32GB ในราว 10 วินาที, Apache httpd 2.4.67 หมด 32GB ในราว 18 วินาที, nginx 1.29.7 หมด 32GB ในราว 45 วินาที และ IIS (Windows Server 2025) หมด 64GB ในราว 45 วินาที โดยรายละเอียดทางเทคนิคเต็มจะเปิดเผยในงาน Real World AI Security ปลายเดือนนี้ แต่ proof-of-concept (PoC) ถูกเผยแพร่แล้ว

New HTTP/2 Bomb DoS attack crashes web servers in under a minute

รายละเอียดช่องโหว่

หัวใจของ HTTP/2 Bomb คือการรวมสองเทคนิคที่รู้จักมาก่อนเข้าด้วยกันจนเกิดผลกระทบรุนแรง ส่วนแรกคือ HPACK compression amplification ที่ทำให้ 1 byte ขยายเป็นการจัดสรรหน่วยความจำหลายพัน byte ผ่านการอ้างอิง header ใน dynamic table ซ้ำ ๆ ส่วนที่สองคือการกักหน่วยความจำไว้ไม่ให้คืนผ่านการประกาศ flow-control window เป็น 0 byte ทำให้คำขอค้างและหน่วยความจำสะสมเรื่อย ๆ

จุดที่อันตรายคือเทคนิคนี้ข้ามการป้องกันแบบจำกัดขนาด header รวมได้ เพราะค่า header แต่ละตัวมีขนาดเล็กมาก การขยายเกิดจาก bookkeeping ภายในต่อ header ไม่ใช่ขนาดข้อมูลที่ส่ง นักวิจัยชี้ว่าแม้สเปก HPACK จะกล่าวถึงความเสี่ยง memory amplification แต่ไม่ได้กล่าวถึงกรณีที่ผู้โจมตีกักหน่วยความจำไว้ไม่จำกัดผ่าน flow-control

อย่างไรก็ตาม ไม่ใช่ทุกเว็บเซิร์ฟเวอร์ที่มีช่องโหว่ และบางค่าตั้งค่าอาจป้องกันทางอ้อมได้ เช่น ระบบที่อยู่หลัง CDN หรือ reverse proxy จะไม่เปิด HTTP/2 endpoint ที่มีช่องโหว่และโจมตียากกว่า รวมถึง deployment ที่มี custom header-count limit, WAF, reverse proxy หรือปิด HTTP/2 ไว้ ปัญหาถูกแก้ใน nginx 1.29.8 (เพิ่ม directive max_headers) และ Apache httpd mod_http2 2.0.41 (CVE-2026-49975) แต่ขณะเขียน IIS, Envoy และ Pingora ยังไม่มีแพตช์

ผลกระทบต่อไทย

เว็บเซิร์ฟเวอร์ NGINX, Apache และ Microsoft IIS เป็นซอฟต์แวร์ที่องค์กรไทยใช้รันเว็บไซต์และบริการออนไลน์แทบทุกแห่ง ทำให้ HTTP/2 Bomb เป็นภัยต่อเว็บไทยจำนวนมหาศาล โดยเฉพาะเว็บที่เปิด HTTP/2 ตามค่าตั้งเริ่มต้นและไม่ได้อยู่หลัง CDN

จุดที่น่ากังวลคือการโจมตีนี้ยิงได้จากเครื่องเดียวบนการเชื่อมต่อบ้านธรรมดา ไม่ต้องใช้ botnet ขนาดใหญ่แบบ DDoS ทั่วไป ทำให้แม้ผู้โจมตีรายเดียวก็สามารถล่มเว็บบริการสำคัญของไทยได้ในไม่กี่วินาที และ PoC ที่เผยแพร่แล้วยิ่งเพิ่มความเสี่ยงที่จะถูกนำไปใช้

สำหรับองค์กรไทยที่ใช้ IIS, Envoy หรือ Pingora ซึ่งยังไม่มีแพตช์ ความเสี่ยงสูงเป็นพิเศษ จำเป็นต้องใช้มาตรการบรรเทาชั่วคราว เช่น ปิด HTTP/2 หรือวาง proxy/firewall ที่บังคับ header-count limit ไว้ด้านหน้า

คำแนะนำ

  1. อัปเดต nginx เป็น 1.29.8+ — ซึ่งเพิ่ม directive max_headers แก้ช่องโหว่
  2. อัปเดต Apache httpd mod_http2 เป็น 2.0.41+ — ปิด CVE-2026-49975
  3. ปิด HTTP/2 ชั่วคราวบน IIS, Envoy, Pingora — เนื่องจากยังไม่มีแพตช์ ให้ปิดเมื่อทำได้
  4. วาง CDN/reverse proxy ด้านหน้า — เพื่อไม่ให้ HTTP/2 endpoint ที่มีช่องโหว่ถูกเข้าถึงตรง
  5. บังคับ header-count limit ที่ proxy/WAF — เพื่อสกัดการ amplification
  6. เฝ้าระวังการใช้หน่วยความจำผิดปกติ — ตั้ง alert เมื่อ RAM ของเว็บเซิร์ฟเวอร์พุ่งเร็วผิดปกติ

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