ช่องโหว่ด้านความปลอดภัยที่ร้ายแรงในหนึ่งในเฟรมเวิร์กเว็บ Python ที่ใช้กันอย่างแพร่หลายที่สุด ทำให้ตัวแทน AI จำนวนล้านๆ ตัว เครื่องมือการเรียนรู้ของเครื่อง และบริการผลิตต่างๆ ตกอยู่ในความเสี่ยงต่อการโจมตีโดยไม่ต้องมีการยืนยันตัวตน ช่องโหว่นี้ มีรหัส CVE-2026-48710 และมีชื่อเล่นว่า “BadHost” ส่งผลกระทบต่อ Starlette เฟรมเวิร์กแบบโอเพนซอร์สที่มีการดาวน์โหลดถึง 325 ล้านครั้งต่อสัปดาห์
นั่นไม่ใช่ข้อผิดพลาดในการพิมพ์ 325 ล้านต่อสัปดาห์ และเนื่องจาก Starlette ทำหน้าที่เป็นรากฐานสำหรับ FastAPI และระบบนิเวศที่กว้างขวางของโปรเจกต์ Python แบบอะซิงโครนัส ผลกระทบจึงขยายออกไปไกลเกินกว่าไลบรารีเดียว
BadHost ทำอะไรจริงๆ
Starlette สร้าง URL ของคำขอโดยใช้หัวเรื่อง HTTP Host ซึ่งผู้โจมตีสามารถปรับเปลี่ยนได้อย่างอิสระ และต่อเข้ากับเส้นทางคำขอ ก่อนที่จะวิเคราะห์ผลลัพธ์อีกครั้ง ฟรีมเวิร์กไม่ได้ตรวจสอบหัวเรื่อง Host ก่อนเลย
โดยการใส่ตัวอักษรบางตัว เช่น /, ?, หรือ # ลงในหัวเรื่อง Host ผู้โจมตีสามารถเปลี่ยนตำแหน่งขอบเขตของเส้นทางใน URL ที่ถูกสร้างขึ้นใหม่ ซึ่งทำให้พวกเขาสามารถหลบผ่าน middleware ใดๆ ที่อิงจากการตรวจสอบการรับรองสิทธิ์ตามเส้นทาง โดยไม่จำเป็นต้องมีข้อมูลรับรองใดๆ หรือโซ่การโจมตีที่ซับซ้อน เพียงแค่ใช้หัวเรื่อง HTTP ที่ถูกสร้างขึ้นมาอย่างมีจุดประสงค์
ผลลัพธ์คือการหลีกเลี่ยงการตรวจสอบสิทธิ์อย่างสมบูรณ์บนแอปพลิเคชันที่ได้รับผลกระทบ ผู้โจมตีที่ใช้ประโยชน์จาก BadHost สามารถเข้าถึงจุดสิ้นสุดที่ได้รับการป้องกัน รับข้อมูลที่ละเอียดอ่อน และอาจขโมยข้อมูลรับรองการเข้าใช้งานสำหรับบริการของบุคคลที่สามที่เชื่อมต่อกับแอปพลิเคชันที่มีช่องโหว่
ปัญหาโครงสร้างพื้นฐานของ AI
สิ่งที่ทำให้สถานการณ์นี้น่ากังวลเป็นพิเศษคือรายการโครงการย่อยที่พึ่งพา Starlette ซึ่งรวมถึง FastAPI หนึ่งในเฟรมเวิร์กที่ได้รับความนิยมมากที่สุดสำหรับการสร้างบริการเว็บด้วย Python ที่ทำงานบนพื้นฐานของมัน รวมถึง vLLM และ LiteLLM ซึ่งเป็นเฟรมเวิร์กสองตัวที่ถูกใช้งานอย่างแพร่หลายในการให้บริการโมเดลภาษาขนาดใหญ่ในสภาพแวดล้อมการผลิต นอกจากนี้ยังรวมถึง MCP servers โครงสร้างพื้นฐานของ Model Context Protocol ที่ขับเคลื่อนเครื่องมือสำหรับตัวแทน AI โครงการโอเพ่นซอร์สหลายพันโครงการต้องพึ่งพา Starlette เพื่อให้ทำงานได้ สร้างเครือข่ายการพึ่งพาแบบถ่ายทอดขนาดใหญ่ที่จุดอ่อนเพียงจุดเดียวสามารถแพร่กระจายออกไปอย่างกว้างขวาง
ช่องโหว่นี้ส่งผลกระทบต่อเวอร์ชัน Starlette ทั้งหมดก่อนหน้า 1.0.1 ได้มีการปล่อยแพตช์ตั้งแต่เวอร์ชันนั้นเป็นต้นไป และมีเครื่องมือสแกนฟรีสำหรับระบุแอปพลิเคชันที่ได้รับผลกระทบได้ที่ badhost.org
รูปแบบ ไม่ใช่ความผิดปกติ
BadHost ไม่ได้เกิดขึ้นอย่างไร้พื้นฐาน การเปิดเผยข้อมูลนี้เกิดขึ้นในช่วงที่มีปัญหาด้านความปลอดภัยเพิ่มขึ้นเรื่อยๆ ที่กระทบต่อกรอบงานตัวแทน AI ตลอดปี 2025 และ 2026 รวมถึงการโจมตีแบบ prompt injection และช่องโหว่การดำเนินรหัสระยะไกล
โครงการอาจไม่ได้นำเข้า Starlette โดยตรง แต่ยังคงมีความเสี่ยงเพราะสิ่งที่โครงการนั้นพึ่งพาอยู่ทำเช่นนั้น
สิ่งนี้หมายความว่าอย่างไรสำหรับนักลงทุน
ผลกระทบในทันทีคือด้านการดำเนินงาน ทีมที่ดำเนินการเอเจนต์ AI หรือโครงสร้างพื้นฐานการให้บริการ LLM ต้องตรวจสอบต้นไม้การพึ่งพาและอัปเดตเป็น Starlette 1.0.1 หรือใหม่กว่า การเลื่อนเวลาใดๆ จะเพิ่มความเสี่ยงต่อการถูกโจมตีที่ไม่ต้องการการยืนยันตัวตนหรือการเข้าถึงพิเศษในการดำเนินการ
