CVSS 10 из 10, патча нет. В популярной векторной базе ChromaDB нашли RCE без аутентификации
NewsMakerЧто может сделать хакер после атаки на ChromaDB.
В ChromaDB нашли уязвимость, которая позволяет выполнить код на сервере без входа в систему. Проблема получила идентификатор CVE-2026-45829 (оценка по CVSS: 10) и пока не исправлена в версии 1.5.8.
ChromaDB — открытая векторная база данных, которую используют в приложениях с искусственным интеллектом для поиска похожих по смыслу данных. Проект популярен среди разработчиков: пакет скачивают около 13 млн раз в месяц, а репозиторий на GitHub набрал 27 500 звезд. Среди пользователей ChromaDB есть Capital One и UnitedHealthcare.
Проблема затрагивает Python-сервер ChromaDB на базе FastAPI. Сервер может загрузить и запустить заданную пользователем функцию встраивания еще до проверки прав доступа. Атакующему достаточно иметь доступ к программному интерфейсу ChromaDB по HTTP и отправить специально подготовленный запрос на создание коллекции.
Уязвимость связана с тем, как ChromaDB работает с моделями встраивания. Такие модели превращают текст в числовые представления, чтобы база могла находить документы, близкие по смыслу, даже без совпадения слов. При создании коллекции клиент указывает, какую модель использовать и с какими параметрами ее загрузить. Сервер принимает имя модели и дополнительные настройки из запроса, после чего обращается к Hugging Face и загружает модель.
Опасным параметром стал trust_remote_code. В Hugging Face такой флаг разрешает загружать и выполнять код Python из репозитория модели. Такой механизм нужен для некоторых нестандартных моделей, но при работе с чужим репозиторием превращает загрузку модели в запуск чужого кода. ChromaDB пропускает параметр, потому что проверяет только типы значений, а логическое значение true считается допустимым.
Вторая часть ошибки связана с порядком действий. Конечная точка создания коллекции помечена как требующая входа в систему, но сервер сначала разбирает конфигурацию, скачивает и загружает модель, а уже потом проверяет права доступа. В результате запрос без учетных данных в конце отклоняется, но вредоносный код к этому моменту уже выполняется. Снаружи атака выглядит как неудачный вызов программного интерфейса, а атакующий получает доступ к процессу сервера.
После успешной атаки злоумышленник может добраться до всего, что доступно процессу ChromaDB: переменных окружения, ключей программных интерфейсов, подключенных секретов и данных на диске.
По данным HiddenLayer, уязвимость появилась в ChromaDB 1.0.0 и сохраняется в 1.5.8. Среди найденных через Shodan доступных из интернета экземпляров ChromaDB 73% работали на версии 1.0.0 или новее, то есть находились в диапазоне с уязвимой функцией.
Полного исправления пока нет. Авторы отчета считают, что ChromaDB должна проверять права доступа до загрузки конфигурации и блокировать передачу опасных параметров при создании коллекций. До выхода исправленной версии владельцам установок советуют использовать путь запуска на базе Rust, включая chroma run и образы Docker Hub начиная с 1.0.0, поскольку такой вариант не затронут. Если используется Python-сервер FastAPI, доступ к порту ChromaDB нужно ограничить только доверенными клиентами.
Авторы отчета сообщили ChromaDB о проблеме 17 февраля 2026 года, затем несколько раз пытались связаться с командой через другие каналы, включая IT-ISAC и социальные сети. Последняя попытка связаться с разработчиками датирована 16 апреля 2026 года.
В ChromaDB нашли уязвимость, которая позволяет выполнить код на сервере без входа в систему. Проблема получила идентификатор CVE-2026-45829 (оценка по CVSS: 10) и пока не исправлена в версии 1.5.8.
ChromaDB — открытая векторная база данных, которую используют в приложениях с искусственным интеллектом для поиска похожих по смыслу данных. Проект популярен среди разработчиков: пакет скачивают около 13 млн раз в месяц, а репозиторий на GitHub набрал 27 500 звезд. Среди пользователей ChromaDB есть Capital One и UnitedHealthcare.
Проблема затрагивает Python-сервер ChromaDB на базе FastAPI. Сервер может загрузить и запустить заданную пользователем функцию встраивания еще до проверки прав доступа. Атакующему достаточно иметь доступ к программному интерфейсу ChromaDB по HTTP и отправить специально подготовленный запрос на создание коллекции.
Уязвимость связана с тем, как ChromaDB работает с моделями встраивания. Такие модели превращают текст в числовые представления, чтобы база могла находить документы, близкие по смыслу, даже без совпадения слов. При создании коллекции клиент указывает, какую модель использовать и с какими параметрами ее загрузить. Сервер принимает имя модели и дополнительные настройки из запроса, после чего обращается к Hugging Face и загружает модель.
Опасным параметром стал trust_remote_code. В Hugging Face такой флаг разрешает загружать и выполнять код Python из репозитория модели. Такой механизм нужен для некоторых нестандартных моделей, но при работе с чужим репозиторием превращает загрузку модели в запуск чужого кода. ChromaDB пропускает параметр, потому что проверяет только типы значений, а логическое значение true считается допустимым.
Вторая часть ошибки связана с порядком действий. Конечная точка создания коллекции помечена как требующая входа в систему, но сервер сначала разбирает конфигурацию, скачивает и загружает модель, а уже потом проверяет права доступа. В результате запрос без учетных данных в конце отклоняется, но вредоносный код к этому моменту уже выполняется. Снаружи атака выглядит как неудачный вызов программного интерфейса, а атакующий получает доступ к процессу сервера.
После успешной атаки злоумышленник может добраться до всего, что доступно процессу ChromaDB: переменных окружения, ключей программных интерфейсов, подключенных секретов и данных на диске.
По данным HiddenLayer, уязвимость появилась в ChromaDB 1.0.0 и сохраняется в 1.5.8. Среди найденных через Shodan доступных из интернета экземпляров ChromaDB 73% работали на версии 1.0.0 или новее, то есть находились в диапазоне с уязвимой функцией.
Полного исправления пока нет. Авторы отчета считают, что ChromaDB должна проверять права доступа до загрузки конфигурации и блокировать передачу опасных параметров при создании коллекций. До выхода исправленной версии владельцам установок советуют использовать путь запуска на базе Rust, включая chroma run и образы Docker Hub начиная с 1.0.0, поскольку такой вариант не затронут. Если используется Python-сервер FastAPI, доступ к порту ChromaDB нужно ограничить только доверенными клиентами.
Авторы отчета сообщили ChromaDB о проблеме 17 февраля 2026 года, затем несколько раз пытались связаться с командой через другие каналы, включая IT-ISAC и социальные сети. Последняя попытка связаться с разработчиками датирована 16 апреля 2026 года.