Nội dung bài viết
“Badhost” được tìm thấy trong Starlette, một gói có 325 triệu lượt tải xuống hàng tuần.
Một nhà nghiên cứu bảo mật cảnh báo, hàng triệu tác nhân và công cụ AI trên khắp thế giới đã gặp nguy hiểm bởi một lỗ hổng nghiêm trọng có thể cho phép tin tặc xâm nhập vào các máy chủ đang chạy chúng và lấy đi dữ liệu nhạy cảm cũng như thông tin đăng nhập vào tài khoản của bên thứ ba.
Lỗ hổng này hiện diện trong Starlette, một framework nguồn mở mà nhà phát triển của nó cho biết nhận được 325 triệu lượt tải xuống mỗi tuần. Hàng nghìn dự án nguồn mở khác cũng dễ bị tổn thương vì chúng yêu cầu Starlette hoạt động.
Khung này là một triển khai ASGI (giao diện cổng máy chủ không đồng bộ), cho phép số lượng lớn yêu cầu được xử lý đồng thời một cách hiệu quả. Starlette là nền tảng của FastAPI và các khung công tác được sử dụng rộng rãi khác để xây dựng dịch vụ trong ứng dụng Python cũng như nhiều ứng dụng khác.
ASGI và phần mở rộng Starlette, có quyền truy cập vào các máy chủ chạy MCP (giao thức ngữ cảnh mô hình), cho phép các tác nhân AI từ các nhà cung cấp lớn truy cập các nguồn bên ngoài, bao gồm cơ sở dữ liệu người dùng, tài khoản email và lịch cũng như tất cả các loại tài nguyên khác.
Để kết nối với các hệ thống bên ngoài này, máy chủ MCP lưu trữ thông tin xác thực tiềm năng cho mỗi người, khiến chúng trở thành kho lưu trữ đặc biệt có giá trị để kẻ tấn công xâm nhập.
Lỗ hổng bảo mật, được theo dõi là CVE-2026-48710 và có tên Badhost, rất khó khai thác và hoạt động trên hầu hết các hệ thống không có tường lửa được cấu hình đúng. Ngoài FastAPI, các gói được sử dụng rộng rãi khác—bao gồm vLLM và LiteLLM—cũng bị ảnh hưởng.
Badhost ảnh hưởng đến các phiên bản Starlette trước 1.0.1, được phát hành vào thứ Sáu. Các nhà nghiên cứu từ Secwest đã viết: “Một ký tự đơn được đưa vào tiêu đề Máy chủ HTTP sẽ bỏ qua ủy quyền dựa trên đường dẫn trong Starlette, cốt lõi định tuyến của FastAPI”.
“Thông qua FastAPI, phiên bản nguyên thủy này (hiện được những người khám phá gọi là CVE-2026-48710 và được những người khám phá đặt tên là Badhost) tiếp cận một phân khúc lớn của hệ sinh thái công cụ Python AI: vLLM (nơi phát hiện ra lỗi), LiteLLM, Suy luận thế hệ văn bản, hầu hết các proxy OpenAI-shim, máy chủ MCP, khai thác tác nhân, bảng điều khiển eval và giao diện người dùng quản lý mô hình.” Badhost có xếp hạng mức độ nghiêm trọng là 7 trên 10.
Secwest cho biết sự phân loại này “đánh giá thấp hơn về mặt vật chất” mối đe dọa mà nó gây ra cho những người sử dụng các ứng dụng khác phụ thuộc vào Starlette. X41 D-Sec, công ty bảo mật đã phát hiện ra nó, mô tả nó có “nghiêm trọng nghiêm trọng”.
sự vĩnh cửu.” X41 D-Sec hợp tác với công ty bảo mật Nemesis để tạo ra một máy quét trực tuyến có thể kiểm tra xem một máy chủ nhất định có dễ bị tấn công hay không.
Nhà nghiên cứu Markus Vervier của X41 D-Sec cho biết quá trình quét đã tiết lộ các loại dữ liệu sau hiện đã bị lộ: Điểm mấu chốt của lỗ hổng là Starlette chấp nhận các giá trị tiêu đề máy chủ không hợp lệ khiến việc xác thực các ứng dụng sử dụng đối tượng request.url của Starlette phê duyệt các yêu cầu truy cập trái phép.
X41 D-Sec cho biết họ đã phát hiện thấy tính năng xác thực trong nhiều ứng dụng dựa vào lệnh gọi này đã bị bỏ qua. Ngoài ra, các vụ hack có thể dẫn đến việc khai thác SSRF (giả mạo yêu cầu phía máy chủ) và trong một số trường hợp là thực thi mã từ xa.
X41 D-Sec đã mô tả nó theo cách này: Starlette xây dựng lại URL được yêu cầu dựa trên tiêu đề yêu cầu Máy chủ HTTP và đường dẫn được yêu cầu, nhưng không thực hiện bất kỳ xác thực nào đối với giá trị tiêu đề Máy chủ.
Điều này cho phép kẻ tấn công chèn đường dẫn vào phần máy chủ, thêm đường dẫn thực tế vào trước. Tuy nhiên, việc định tuyến trong Starlette dựa trên đường dẫn yêu cầu thực tế.
Việc giải thích các yêu cầu HTTP không nhất quán này có thể dẫn đến các vấn đề như bỏ qua xác thực khi việc xác thực phụ thuộc vào đường dẫn của URL được xây dựng lại. Starlette là nền tảng ion của khung FastAPI Python.
Các nhà nghiên cứu của công ty cho biết thêm: "Thuật toán định tuyến của Starlette phụ thuộc vào đường dẫn HTTP, nhưng thuộc tính request.url.path được cung cấp cho phần mềm trung gian và điểm cuối dựa trên URL được xây dựng lại.
Thật bất ngờ đối với người dùng khi request.url.path khác với đường dẫn thực tế được yêu cầu qua HTTP." Nhà phát triển Starlette đã không trả lời ngay lập tức email yêu cầu xác nhận đánh giá và thông tin bổ sung.
Với các phiên bản dễ bị tấn công của Starlette vẫn được sử dụng rộng rãi trong các hệ thống sản xuất, những người dựa vào bất kỳ ứng dụng nào phụ thuộc vào Starlette—đặc biệt là FastLLM, vLLM và LiteLLM—ít nhất nên chạy trình quét trên hệ thống của họ để phát hiện xem mã Starlette dễ bị tấn công có còn được sử dụng hay không.
Hướng dẫn giảm thiểu bổ sung được cung cấp trong liên kết Nemesis và X41 D-Sec ở trên. Ars Technica đã tách tín hiệu khỏi tiếng ồn trong hơn 25 năm.
Với sự kết hợp độc đáo giữa hiểu biết về kỹ thuật và mối quan tâm sâu rộng đến nghệ thuật và khoa học công nghệ, Ars là nguồn đáng tin cậy trong biển thông tin. Suy cho cùng, bạn không cần phải biết mọi thứ, chỉ cần biết những gì quan trọng.
Gợi ý thực hành:
1. Theo dõi thông báo từ cơ quan địa phương tại California.
2. Kiểm tra nguồn chính thức trước khi chia sẻ lại thông tin.