В голову сразу приходит шутка: Authorization попросил чаевые — и хакеры охотно отдали! Так, с улыбкой, но всерьёз — LiteLLM получил удар по самому «входному» месту: заголовок Authorization.

Представьте прокси как подъезд с почтовым ящиком. Вы обычно кладёте туда ключи от квартиры. А кто-то нашёл способ подложить записку в щель и получить список всех ключей. Вот так и сработал CVE-2026-42208 — SQL-инъекция на этапе верификации API-ключа. Без паролей. Без формальностей. Один хитрый заголовок — и база раскрывает тайны: виртуальные ключи, мастер-ключи, провайдерские токены и конфиги.

Как это выглядело на практике? Исследователи Sysdig заметили целенаправленные запросы к /chat/completions с поддельным Authorization: Bearer. Не «пальцем в небо», а метко — операторы сразу шли по таблицам, где живут секреты. Потом сменили IP — и вернулись с точечными, уже отточенными нагрузками. Холодный расчёт. Ужасный профессионализм.

Есть и хорошая новость. Разработчики выпустили патч в LiteLLM 1.83.7: вместо склейки строк — параметризованные запросы. Безопаснее, как замена дырявой лодки на бронепалубу. Если обновиться нельзя — временный щит: добавить disable_error_logs: true в general_settings, чтобы злоинъекционные входы не доходили до уязвимого запроса. Но это — временное: ключи и токены, которые могли утечь, нужно ротировать.

И ещё: проект недавно пережил supply-chain атаку TeamPCP на PyPI — инфостилеры в пакете. Двойной повод задуматься о цепочке доверия. Что делать? Обновлять. Ротировать. Мониторить логи. И не держать все секреты в одном непросматриваемом ящике.

Подробности и источники — в advisory на GitHub и репортах на BleepingComputer и Sysdig: