Спустя три часа после отдельной волны CVE, затронувшей MCP-серверы, на стек AI-агентов обрушилось второе массовое раскрытие. Шесть CVE, все назначенные [email protected], опубликованные между 20:17:41.107 и 20:17:41.843 UTC — разброс 0,74 секунды — указывали на сайт раскрытия одного исследователя. Они нацелены на Agno, LiteLLM, gpt-researcher, crewai-tools и PentestGPT.

То, что действительно важно

CVE-2026-37004: "BerriAI litellm <=1.82.4 уязвим к Server-Side Template Injection (SSTI), что позволяет неаутентифицированным удаленным злоумышленникам выполнять произвольные команды ОС через специально сформированный параметр dotprompt_content в конечной точке /prompts/test из-за использования не изолированного jinja2.Environment." LiteLLM — это прокси, который тысячи команд запускают перед своими моделями.

Исправление реально и уже есть в текущем коде: prompt_manager.py теперь импортирует ImmutableSandboxedEnvironment с inline-комментарием "Sandboxed env: templates can come from user input via /prompts/test." Это прослеживается до коммита d910a956 от 9 апреля 2026 года с заголовком "fix(proxy): improve input validation on management endpoints." В diff замена Environment( на ImmutableSandboxedEnvironment(. Не было ни advisory, ни CVE, и в тексте коммита нигде не упоминаются template injection или remote code execution. Версия 1.82.4 была опубликована в PyPI 18 марта; текущая — 1.98.0.

Что не так с общепринятой трактовкой

Фраза, которую легко процитировать, звучит так: "неаутентифицированная RCE в LiteLLM, раскрытая 27 августа." Но важная дата — 9 апреля. В течение 140 дней у любого, кто читал changelog LiteLLM и решал, обновляться ли, не было никакой опоры — самое серьезное исправление безопасности в релизе было описано в стиле чистки линтера.

Запись про Agno ошибается в противоположную сторону. Она оформлена против документированного, намеренного, все еще поставляемого поведения. Формулировка "до и включая 2.5.8" подразумевает исправленную 2.5.9; такой версии нет. runpy.run_path(...) и exec(code, self.safe_globals, self.safe_locals) сегодня присутствуют в main, уже после перехода на мажорную версию 3.0.1, под собственным runtime-предупреждением библиотеки: "PythonTools can run arbitrary code, please provide human supervision." Инструмент, чья задача — исполнять Python, сгенерированный моделью, не является неустраненной RCE, а верхняя граница версии просто создает несуществующий патч.

Шесть раскрытий, ноль оценки серьезности

Блок metrics у всех шести — пустой. Нет CVSS от MITRE, нет от исследователя, нет от NVD. Неаутентифицированная RCE в широко используемом прокси и жестко заданный телеметрический ключ в PentestGPT формально попадают в базу на равных, а downstream-сканеры либо отбрасывают их, либо придумывают число. Две записи также указывают release candidate<= 1.10.2rc1 — как верхнюю границу затронутых версий, хотя текущая версия crewai-tools — 1.15.18, и ни один dependency resolver с этим ничего не сделает.