Lỗ hổng BadHost đe dọa nghiêm trọng hạ tầng AI và framework Python Starlette
BadHost là một lỗ hổng nghiêm trọng cho phép vượt qua kiểm soát xác thực trong framework web phổ biến Starlette. Lỗi này khai thác các tiêu đề HTTP Host bị lỗi định dạng để tấn công vào hạ tầng AI Agents và cổng LLM. Các nhà nghiên cứu cảnh báo về tác động rộng rãi của nó đối với hàng ngàn dự án phần mềm nguồn mở.

Lỗ hổng BadHost, được định danh là CVE-2026-48710, là một lỗ hổng nghiêm trọng cho phép vượt qua xác thực (authentication bypass) trong framework web Starlette của Python. Với hơn 325 triệu lượt tải xuống mỗi tuần, Starlette là nền tảng cho rất nhiều ứng dụng web hiện đại, bao gồm cả các hệ thống AI. Lỗi này cho phép kẻ tấn công sử dụng các tiêu đề HTTP Host bị lỗi định dạng để vượt qua các kiểm soát truy cập dựa trên đường dẫn và truy cập trái phép vào hạ tầng nhạy cảm.
Lỗ hổng được phát hiện bởi các nhà nghiên cứu bảo mật tại Secwest và X41 D-Sec. Về mặt kỹ thuật, lỗi này xuất phát từ cách Starlette tái tạo request.url bằng cách nối tiêu đề HTTP Host với đường dẫn yêu cầu và phân tích cú pháp lại kết quả đó. Vấn đề nằm ở chỗ giá trị Host không được xác thực theo ngữ pháp RFC 9112 / RFC 3986 trước khi tái tạo.
Khi kẻ tấn công chèn các ký tự đặc biệt như /, ? hoặc # vào tiêu đề Host, ranh giới giữa đường dẫn, truy vấn và đoạn sẽ bị dịch chuyển trong quá trình phân tích lại. Điều này khiến request.url.path không còn khớp với đường dẫn mà máy chủ ASGI thực sự nhận được và định tuyến.
Ví dụ, một yêu cầu đến /admin có thể bị chặn nếu tiêu đề Host hợp lệ, nhưng sẽ được chấp nhận nếu tiêu đề Host chứa ký tự ?:
curl -i -H 'Host: foo' http://target/admin # 403, bị chặn
curl -i -H 'Host: foo?' http://target/admin # 200, được phép truy cập
Mặc dù lỗ hổng này được chấm điểm rủi ro ở mức trung bình là 6.5, các nhà nghiên cứu cho rằng điều này "đánh giá thấp tác động hạ nguồn" và nó nên được coi là mức nghiêm trọng. Phân tích của X41 đã tìm thấy nhiều dự án nguồn mở phổ biến sử dụng phần mềm trung gian (middleware) để đưa ra quyết định bảo mật dựa trên request.url. Chuỗi khai thác từ lỗi sơ khai này có thể dẫn đến vượt qua xác thực, giả lập yêu cầu phía máy chủ (SSRF) và thực thi mã từ xa.
Đặc biệt đáng lo ngại là tác động của BadHost đối với hệ sinh thái AI. Lỗ hổng này được phát hiện trong quá trình kiểm toán mã nguồn của vLLM, chứng minh rằng "con đường từ tính kỳ lạ của Starlette đến nguyên thủy phục vụ LLM không phải là lý thuyết". Các dịch vụ AI thường được triển khai trong các mạng nội bộ, mạng con phòng thí nghiệm và môi trường nghiên cứu LLM thiếu sự bảo vệ của reverse-proxy thường thấy trong các hệ thống sản xuất, khiến chúng bị phơi bày trực tiếp trước BadHost.
Các máy chủ MCP (Model Context Protocol) đặc biệt có rủi ro cao, vì thông số kỹ thuật của MCP yêu cầu các điểm cuối khám phá OAuth không được xác thực, tạo ra một đường dẫn đáng tin cậy để khai thác.
Một điểm thú vị là lỗ hổng này đã bị bỏ sót bởi Claude Mythos, một công cụ AI quét lỗ hổng, dù nó đã xác định hơn 10.000 lỗ hổng trong Project Glasswing. Các nhà nghiên cứu lưu ý rằng đây không phải là lỗi trong một tệp hay một kho lưu trữ duy nhất, mà là sự tương tác sai lệch giữa ba lớp độc lập: máy chủ ASGI chuyển tiếp tiêu đề Host thô, Starlette tin tưởng nó để xây dựng URL, và các tác giả phần mềm trung gian giả định request.url.path an toàn cho các quyết định xác thực.
Cộng đồng kỹ thuật trên Hacker News đã phản ứng mạnh mẽ. Người dùng ostif-derek cảnh báo rằng việc đánh giá nó ở mức trung bình là không đủ và mọi người cần cập nhật bản vá càng sớm càng tốt. Tuy nhiên, một số ý kiến khác cho rằng rủi ro có thể được giảm thiểu đáng kể nếu bạn không phơi bày Starlette/FastAPI trực tiếp lên internet. Việc sử dụng CDN, bộ cân bằng tải / API Gateway hoặc máy chủ web phía trước có thể bảo vệ dịch vụ của bạn, vì các cuộc tấn công phụ thuộc vào các ký tự không hợp lệ trong DNS.
Hiện tại, lỗ hổng đã được khắc phục trong Starlette phiên bản 1.0.1. Một công cụ quét trực tuyến miễn phí cũng đã được cung cấp tại badhost.org để giúp các nhà phát triển kiểm tra xem hệ thống của họ có bị ảnh hưởng hay không.
Bài viết liên quan

Công nghệ
CEO Palantir: 10% thế giới "ghét chúng tôi một cách chuyên nghiệp"
05 tháng 5, 2026

Phần mềm
Nvidia chính thức khai tử ứng dụng GeForce Control Panel sau 20 năm gắn bó
26 tháng 5, 2026

Phần mềm
Chính phủ Mỹ yêu cầu Instructure giải trình về sự cố tấn công mạng và lộ dữ liệu Canvas
13 tháng 5, 2026
