Критична безпекова вразливість у одній з найбільш використовуваних веб-фреймворків Python залишила мільйони AI-агентів, інструментів машинного навчання та продуктивних сервісів вразливими до атак без автентифікації. Вразливість, відома як CVE-2026-48710 і прозвана «BadHost», стосується Starlette — відкритого фреймворка, який отримує 325 мільйонів завантажень на тиждень.
Це не помилка. 325 мільйонів. На тиждень. І оскільки Starlette є основою для FastAPI та великої екосистеми асинхронних проектів на Python, вплив поширюється набагато далі за межі однієї бібліотеки.
Що насправді робить BadHost
Starlette відновлює URL запиту, використовуючи HTTP-заголовок Host, який атакуючий може вільно маніпулювати, і конкатенує його з шляхом запиту перед повторним парсингом результату. Фреймворк ніколи не перевіряє заголовок Host спочатку.
Вводя певні символи, такі як /, ? або #, у заголовок Host, зловмисник може змінити місце розмежування шляхів у відновленому URL. Це дозволяє їм обійти будь-який проміжний програмний шар, який залежить від перевірок автентифікації на основі шляху. Не потрібні облікові дані. Не потрібен складний ланцюжок експлойтів. Достатньо підготовленого HTTP-заголовка.
Результатом є повний обхід автентифікації у вразливих застосунках. Зловмисники, які використовують BadHost, можуть отримати доступ до захищених точок входу, отримати доступ до конфіденційних даних і потенційно вкрасти облікові дані для сторонніх сервісів, підключених до вразливого застосунку.
Проблема інфраструктури ШІ
Чим це особливо тривожно, так це списком проектів нижчого рівня, які залежать від Starlette. FastAPI, один із найпопулярніших фреймворків для створення веб-сервісів на Python, працює поверх нього. Те саме стосується vLLM і LiteLLM — двох широко використовуваних фреймворків для розгортання великих мовних моделей у виробничих середовищах. Також страждають MCP-сервери — інфраструктура Model Context Protocol, яка забезпечує інструменти для AI-агентів. Тисячі відкритих проектів залежать від Starlette для роботи, створюючи масштабну мережу транзитивних залежностей, де одна вразливість поширюється далі.
Уразливість впливає на всі версії Starlette раніше ніж 1.0.1. Патчі були випущені з цієї версії, а безкоштовний сканер для виявлення вразливих додатків доступний на badhost.org.
Патерн, а не аномалія
BadHost не з’явився на порожній фон. Розголошення відбувається на тлі зростаючої хвилі проблем з безпекою, які впливають на фреймворки AI-агентів протягом 2025 та 2026 років, включаючи атаки з введенням запитів та вразливості виконання коду на відстані.
Проект може навіть не імпортувати Starlette безпосередньо, але все ще бути вразливим, бо щось, від чого він залежить, це робить.
Що це означає для інвесторів
Негайна наслідок — операційна. Команди, які запускають AI-агенти або інфраструктуру для сервісів LLM, повинні перевірити свої дерева залежностей та оновитись до Starlette 1.0.1 або новішої версії. Будь-яка затримка збільшує вразливість до експлойту, який не вимагає автентифікації чи спеціального доступу для виконання.
