CVE-2025-68664 - уязвимость в LangChain Core❄️ В
langchain-core обнаружена
критическая уязвимость, получившая название
LangGrinch.
Проблема заключается в небезопасной сериализации/десериализации данных при использовании функций
dumps() и
dumpd() внутри
LangChain.
💡Эти функции не экранируют должным образом словари, содержащие ключ
lc, который используется внутри
LangChain как маркер сериализованных объектов (да, опять про сериализацию и проблемы с ней 🧑💻). Если данные, вводимые пользователем, содержат этот ключ, они могут быть ошибочно интерпретированы как внутренний объект
LangChain во время десериализации, позволяя злоумышленнику инжектировать собственные структуры.
🎩
Риски (по сути украдено отсюда)🎅Кража секретов и чувствительных данных. Если десериализация выполняется с параметром
secrets_from_env=True (раньше — включён по умолчанию), злоумышленник может заставить систему прочитать и вернуть секреты из переменных окружения (например, API-ключи).
❤️Инъекция объектов
LangChain. Через специально сформированные поля (например,
metadata, additional_kwargs, response_metadata) атакующий может заставить десериализатор создать объекты внутри доверенного пространства имён (
langchain_core, langchain, langchain_community) с контролируемыми параметрами.
❤️Потенциальное выполнение кода. При использовании шаблонов
Jinja2 или других механизмов может возникнуть возможность
RCE через внедрённые структуры, особенно если шаблоны интерпретируют опасные конструкции
Что делать?Обновляться срочно, пока этот Гринч не утащил прод 🌟, ограничить разрешённые объекты при десериализации и отключить загрузку секретов из env по умолчанию.
Всё!
🔥