CVE-2026-48710, còn được gọi là BadHost, là một lỗ hổng CVE nghiêm trọng cho phép authentication bypass thông qua việc thao túng HTTP Host header. Lỗ hổng này ảnh hưởng đến Starlette trước phiên bản 1.0.1, thành phần nền tảng được sử dụng rộng rãi trong các ứng dụng dựa trên FastAPI và nhiều hệ thống AI hiện đại.
Do Starlette được tích hợp trong các dịch vụ như LLM inference server, agent framework và MCP gateway, lỗ hổng CVE này làm tăng rủi ro bảo mật cho các API được bảo vệ bằng middleware dựa trên đường dẫn. Thông tin chi tiết có thể tham khảo tại NVD.
Phân tích lỗ hổng CVE CVE-2026-48710
Vấn đề nằm ở cách Starlette dựng request.url bằng cách nối giá trị Host header với đường dẫn request để tạo ra request.url.path. Khi Host header không được làm sạch đúng cách, kẻ tấn công có thể chèn giá trị độc hại làm thay đổi cách ứng dụng diễn giải đường dẫn.
Lỗ hổng CVE này được phát hiện bởi X41 D-Sec trong một cuộc kiểm tra do OSTIF tài trợ. Căn nguyên kỹ thuật là việc xử lý không an toàn HTTP Host header, dẫn đến việc sai lệch giữa đường dẫn mà ứng dụng tin rằng đang xử lý và đường dẫn thực tế của request.
Cách khai thác
Một request được tạo thủ công có thể khiến ứng dụng hiểu sai đích đến. Ví dụ, khi gửi GET /protected cùng header Host: example.com/health?x=, ứng dụng có thể diễn giải request như đang hướng tới /health thay vì /protected.
GET /protected HTTP/1.1
Host: example.com/health?x=
Nếu middleware xác thực dựa vào request.url.path để kiểm soát truy cập, sai lệch này có thể dẫn đến xâm nhập trái phép và chiếm quyền điều khiển các endpoint được bảo vệ. Đây là kiểu remote code execution gián tiếp theo nghĩa logic ứng dụng bị phá vỡ, dù bản thân lỗi không phải RCE trực tiếp.
Ảnh hưởng của lỗ hổng CVE trên hệ thống AI
BadHost tác động mạnh đến hệ sinh thái AI vì nhiều dịch vụ hiện đại xây dựng trên FastAPI và Starlette. Các lớp bị ảnh hưởng gồm ASGI server, cơ chế xử lý URL của Starlette và middleware do lập trình viên tự viết.
Do đó, lỗ hổng CVE này khó bị phát hiện bằng phân tích tự động thông thường, đặc biệt trong các chuỗi request nhiều tầng hoặc khi logic xác thực được tách khỏi lớp application chính.
Các nền tảng có nguy cơ
- vLLM và LiteLLM inference/proxy servers.
- AI agent frameworks và orchestration backends.
- MCP servers và MCP gateways.
- Ray Serve, BentoML và Google ADK-Python khi dùng custom middleware.
MCP servers đặc biệt đáng chú ý vì thường công khai các endpoint OAuth discovery không yêu cầu xác thực theo thiết kế. Điều này tạo ra một điểm vào dự đoán được, giúp lỗ hổng CVE dễ bị khai thác hơn trong thực tế.
Rủi ro bảo mật khi bị khai thác
Khi khai thác thành công, kẻ tấn công có thể truy cập các endpoint LLM bị hạn chế, trích xuất API keys và thông tin xác thực, tương tác với internal agent tooling, hoặc tiêu tốn tài nguyên AI compute mà không có quyền hợp lệ.
Trong bối cảnh này, lỗ hổng CVE không chỉ gây rủi ro truy cập trái phép mà còn mở rộng phạm vi sang thông tin rò rỉ, lạm dụng tài nguyên và phá vỡ cơ chế kiểm soát nội bộ của hệ thống AI.
Mối liên hệ giữa middleware và lỗ hổng CVE
Lỗi ảnh hưởng đến nhiều lớp: từ ASGI server, Starlette URL handling cho đến middleware do nhà phát triển triển khai. Các cơ chế dùng logic theo đường dẫn để kiểm tra bảo mật đều có thể bị tác động, gồm:
- Xác thực và phân quyền dựa trên path.
- Allowlist hoặc denylist filtering.
- Rate limiting hoặc billing gates.
- CSRF protection.
Vì vậy, lỗ hổng CVE này cần được xem là một vấn đề về thiết kế kiểm soát truy cập, không chỉ là lỗi xử lý header đơn lẻ.
Biện pháp khắc phục và bản vá bảo mật
Biện pháp ưu tiên là cập nhật bản vá bằng cách nâng cấp Starlette lên 1.0.1 hoặc mới hơn để xử lý Host header lỗi định dạng một cách an toàn. Đây là hướng khắc phục trực tiếp cho lỗ hổng CVE CVE-2026-48710.
Nhà phát triển không nên dùng request.url.path cho các quyết định liên quan đến bảo mật. Thay vào đó, nên sử dụng các cơ chế đáng tin cậy hơn như FastAPI Depends() hoặc Security() cho xác thực và phân quyền.
Nếu middleware buộc phải kiểm tra đường dẫn, nên dùng scope[“path”] thay cho request.url.path để có cơ sở logic an toàn hơn. Việc này giúp giảm tác động từ lỗ hổng CVE liên quan đến thao túng Host header.
Triển khai kiểm soát phía trước ứng dụng
Đặt reverse proxy như Nginx, Caddy hoặc HAProxy phía trước ASGI server giúp xác thực và chuẩn hóa Host header trước khi request đi vào ứng dụng. Điều này giảm đáng kể bề mặt tấn công của lỗ hổng CVE.
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8000;
}
Kiểm tra và phát hiện xâm nhập
Đội ngũ an ninh có thể rà soát môi trường để tìm các mẫu middleware dễ bị ảnh hưởng và endpoint bị lộ. Việc kiểm tra cần tập trung vào các luồng xác thực dựa trên đường dẫn, đặc biệt trong các dịch vụ AI dùng FastAPI/Starlette.
Trong giám sát vận hành, phát hiện xâm nhập nên ưu tiên các request có Host header bất thường, chứa path hoặc query string không phù hợp với quy ước miền. Đây là dấu hiệu thường gặp khi lỗ hổng CVE đang bị thử khai thác.
IOC và dấu hiệu liên quan
- IOC kỹ thuật: Host header chứa path hoặc query string bất thường.
- IOC kỹ thuật: Request tới /protected nhưng ứng dụng diễn giải thành /health.
- IOC kỹ thuật: Truy cập bất thường vào các endpoint OAuth discovery của MCP server.
- IOC kỹ thuật: Lưu lượng nhắm đến endpoint LLM bị hạn chế với hành vi vượt kiểm soát path-based middleware.
Lỗ hổng CVE CVE-2026-48710 cho thấy việc kiểm tra và chuẩn hóa input ở tầng middleware là yêu cầu bắt buộc trong môi trường AI hiện đại, đặc biệt khi nhiều thành phần sử dụng cùng một logic xử lý request và URL.










