Vulnerabilidade no LangChain ameaça aplicações baseadas em IA
- Cyber Security Brazil
- há 12 minutos
- 2 min de leitura

Uma vulnerabilidade crítica foi divulgada no LangChain Core, um dos principais frameworks utilizados para orquestração de aplicações baseadas em Large Language Models (LLMs).
A falha, identificada como CVE-2025-68664 e com pontuação CVSS de 9,3, pode ser explorada por hackers para extrair segredos sensíveis, manipular respostas de modelos de IA e, em cenários mais graves, executar código arbitrário.
O LangChain Core (langchain-core) é um pacote central em Python dentro do ecossistema LangChain, responsável por fornecer interfaces e abstrações independentes de modelo para a construção de aplicações baseadas em LLMs. Justamente por estar no núcleo do framework, a vulnerabilidade possui alto impacto potencial, afetando uma ampla gama de aplicações que utilizam serialização e desserialização de dados.
Como a vulnerabilidade funciona
A falha, batizada de LangGrinch, foi reportada em 4 de dezembro de 2025 pelo pesquisador Yarden Porat e está relacionada a um problema de serialization injection nas funções dumps() e dumpd() do LangChain.
Segundo o advisory oficial, essas funções não escapam corretamente dicionários controlados pelo usuário que contenham a chave especial "lc". Essa chave é utilizada internamente pelo LangChain para identificar objetos serializados legítimos do framework.
Na prática, quando um invasor consegue inserir dados contendo a estrutura "lc" em campos controláveis pelo usuário, esses dados passam a ser tratados como objetos legítimos do LangChain durante a desserialização, e não como simples entrada de usuário. Isso abre caminho para a criação de objetos inseguros e execução de fluxos inesperados dentro da aplicação.
Impactos possíveis do ataque
De acordo com o pesquisador, a exploração bem-sucedida da falha pode resultar em diversos cenários críticos, incluindo:
Extração de segredos armazenados em variáveis de ambiente, especialmente quando a desserialização ocorre com secrets_from_env=True (configuração que anteriormente vinha habilitada por padrão)
Instanciação de classes dentro de namespaces confiáveis, como langchain_core, langchain e langchain_community
Manipulação de respostas de LLMs via prompt injection, explorando campos como metadata, additional_kwargs e response_metadata
Possível execução de código arbitrário, especialmente em ambientes que utilizam templates Jinja2
Segundo Porat, esse é um exemplo clássico da interseção entre IA e falhas tradicionais de segurança, onde saídas de modelos de linguagem que deveriam ser tratadas como entrada não confiável acabam sendo reutilizadas em fluxos críticos de serialização.
Correções aplicadas pelo LangChain
Para mitigar o problema, o LangChain lançou atualizações que introduzem mudanças restritivas de segurança, incluindo:
Novo parâmetro allowed_objects nas funções load() e loads(), permitindo definir explicitamente quais classes podem ser serializadas/desserializadas
Bloqueio de templates Jinja2 por padrão
Alteração do secrets_from_env para False, impedindo o carregamento automático de segredos do ambiente
Versões afetadas (Python)
langchain-core >= 1.0.0, < 1.2.5 → corrigido na 1.2.5
langchain-core < 0.3.81 → corrigido na 0.3.81
Falha similar no LangChain.js
Além da versão em Python, foi identificada uma falha semelhante no LangChain.js, também causada pela falta de escape adequado da chave "lc", permitindo extração de segredos e prompt injection. Essa vulnerabilidade recebeu o identificador CVE-2025-68665 (CVSS 8,6).
Pacotes afetados incluem:
@langchain/core >= 1.0.0, < 1.1.8 → corrigido na 1.1.8
@langchain/core < 0.3.80 → corrigido na 0.3.80
langchain >= 1.0.0, < 1.2.3 → corrigido na 1.2.3
langchain < 0.3.37 → corrigido na 0.3.37
Via - THN



