Ошибки в системе искусственного интеллекта Chainlit позволяют хакерам взламывать облачные среды

Две серьёзные уязвимости в Chainlit, популярной платформе с открытым исходным кодом для создания диалоговых ИИ-приложений, позволяют считывать любой файл на сервере и получать доступ к конфиденциальной информации.
Проблемы, получившие название ChainLeak и обнаруженные исследователями из Zafran Labs, могут быть использованы без участия пользователя и повлиять на «системы искусственного интеллекта, подключённые к интернету, которые активно используются в различных отраслях, в том числе на крупных предприятиях».
Фреймворк для создания приложений на базе Chainlit AI в среднем загружается 700 000 раз в месяц из реестра PyPI и 5 миллионов раз в год.
Он предоставляет готовый веб-интерфейс для чат-ботов с искусственным интеллектом, инструменты для бэкенда и встроенную поддержку аутентификации, обработки сеансов и облачного развертывания. Обычно он используется в корпоративных системах и учебных заведениях, а также в производственных системах, подключенных к интернету.
Исследователи Zafran обнаружили две проблемы с безопасностью: произвольное чтение файлов, отслеживаемое как CVE-2026-22218, и подделка запросов на стороне сервера (SSRF), отслеживаемая как CVE-2026-22219.
CVE-2026-22218 может быть использован через конечную точку /project/element и позволяет злоумышленникам отправлять пользовательский элемент с контролируемым полем «путь», заставляя Chainlit копировать файл по этому пути в сеанс злоумышленника без проверки.
В результате злоумышленники получают доступ к любому файлу на сервере Chainlit, включая конфиденциальную информацию, такую как ключи API, учётные данные облачной учётной записи, исходный код, внутренние файлы конфигурации, базы данных SQLite и секреты аутентификации.
CVE-2026-22219 затрагивает развертывания Chainlit, использующие уровень данных SQLAlchemy, и эксплуатируется путем установки поля «url» пользовательского элемента, что заставляет сервер запрашивать URL-адрес с помощью исходящего GET-запроса и сохранять ответ.
Затем злоумышленники могут получить извлечённые данные через конечные точки загрузки элементов, получив доступ к внутренним REST-сервисам и проверив внутренние IP-адреса и сервисы, по словам исследователей.
Зафран продемонстрировал, что эти два уязвимых места можно объединить в единую цепочку атак, которая позволяет полностью скомпрометировать систему и перемещаться по ней в облачных средах.
Исследователи уведомили разработчиков Chainlit об уязвимостях 23 ноября 2025 года и получили подтверждение 9 декабря 2025 года.
Уязвимости были устранены 24 декабря 2025 года с выходом Chainlit версии 2.9.4.
Из-за серьезности и возможности использования CVE-2026-22218 и CVE-2026-22219 организациям, затронутым этой проблемой, рекомендуется как можно скорее перейти на версию 2.9.4 или более позднюю (последняя — 2.9.6).
Редактор: AndreyEx