Netflix รายงานช่องโหว่ HTTP/2 ทำเว็บไซด์ล่ม ส่งผลกระทบทั้ง nginx, Apache, IIS

Netflix รายงานช่องโหว่ HTTP/2 ทำเว็บไซด์ล่ม ส่งผลกระทบทั้ง nginx, Apache, IIS
14
Aug

ทีมวิจัยความปลอดภัยไซเบอร์ของ Netflix รายงานถึงช่องโหว่ในโปรโตคอล HTTP/2 จำนวน 8 รายการ พร้อมๆ กับอีกช่องโหว่ของการ ทำเว็บไซต์ e-commerce ที่พบโดยกูเกิล เป็นชุดของช่องโหว่ที่ไคลเอนต์มุ่งร้ายกำหนดพารามิเตอร์ให้กินทรัพยากรเซิร์ฟเวอร์จนหมด และเว็บล่มได้ในที่สุด

ช่องโหว่เหล่านี้ไม่มีช่องโหว่ใดทำให้ข้อมูลทางการ รับทำเว็บ รั่วไหล หรือยึดเซิร์ฟเวอร์ได้แต่อย่างใด โดยช่องโหว่มี 8 รายการ ได้แก่

  • CVE-2019-9511 (Data Dribble) ไคลเอนต์ขอข้อมูลขนาดใหญ่แต่กำหนด window size ของสตรีมไว้เพียง 1 ไบต์ ทำให้เซิร์ฟเวอร์ต้องใช้ซีพียูสูงมากเพื่อจะส่งข้อมูล
  • CVE-2019-9512 (Ping Flood) ยิง ping จนเซิร์ฟเวอร์ล่ม
  • CVE-2019-9513 (Resource Loop) ไคลเอนต์เปิดหลายสตรีมพร้อมกันแล้ววนแต่ละสตรีมเพื่อกินทรัพยากรเซิร์ฟเวอร์
  • CVE-2019-9514 (Reset Flood) ไคลเอนต์เปิดสตรีมจำนวนมากแล้วส่งรีเควสไม่ถูกต้อง ทำให้ได้รับเฟรมรีเซ็ต เพื่อให้กินทรัพยากรบนเซิร์ฟเวอร์
  • CVE-2019-9515 (Setting Flood) ยิงเฟรม SETTINGS เพื่อให้เซิร์ฟเวอร์ตอบรับจำนวนมากๆ เพื่อกินทรัพยากรเซิร์ฟเวอร์เหมือน Ping Flood
  • CVE-2019-9516 (0-Length Headers Leak) เปิดสตรีมโดยมีชื่อ header ความยาว 0 ไบต์ บางอิมพลีเมนต์จะทำให้เซิร์ฟเวอร์ไม่ยอมคืนหน่วยความจำ
  • CVE-2019-9517 (Internal Data Buffering) ไคลเอนต์ขอ HTTP/2 window ขนาดใหญ่ แต่เปิด TCP window ขนาดเล็ก เพื่อกินทรัพยากรเซิร์ฟเวอร์
  • CVE-2019-9518 (Empty Frames Flood) ไคลเอนต์เปิดสตรีมโดยไม่มีข้อมูล และไม่ยอมปิด กินทรัพยากรเซิร์ฟเวอร์

วันนี้ทาง nginx ออกเวอร์ชั่น 1.16.1 และ 1.17.3 แก้ปัญหาบางส่วนบน เว็บไซต์ ขาย สินค้า ออนไลน์ ทางด้าน Apache HTTPD ก็ออกเวอร์ชั่น 2.4.39 และ IIS ก็ออกแพตช์มาพร้อมกับ Patch Tuesday ส่วนผู้ที่ยังไม่อัพเดตแพตช์ ทางออกที่ง่ายที่สุดคือการปิด HTTP/2 แต่จะส่งกระทบประสิทธิภาพเว็บ