Hack Alerta

LangGraph: deserialização insegura permite RCE (CVE-2025-64439)

Vulnerabilidade CVE-2025-64439 no JsonPlusSerializer do langgraph-checkpoint permite execução remota de código ao carregar checkpoints manipulados. A falha afeta versões < 3.0; LangChain lançou a versão 3.0 que implementa allow-list para construtores e desativa fallback inseguro para JSON. Aplicações que persistem dados não confiáveis em checkpoints devem atualizar e isolar processos de desserialização.

LangGraph publicou correção para uma falha crítica que permite execução remota de código durante a deserialização de checkpoints; implantações que gravam dados não confiáveis em checkpoints e usam o JsonPlusSerializer devem atualizar imediatamente.

Descoberta e escopo

Pesquisas publicadas identificaram uma vulnerabilidade de deserialização no componente JsonPlusSerializer do projeto LangGraph (langgraph-checkpoint) que permite a execução arbitrária de código Python ao carregar checkpoints manipulados. O problema foi rastreado como CVE-2025-64439 e afeta versões de langgraph-checkpoint anteriores à 3.0.

Abordagem técnica / vetor de exploração

O erro ocorre quando o serializador encontra valores Unicode-surrogate ilegais durante uma tentativa de serialização com msgpack e, automaticamente, faz fallback para um modo JSON inseguro. Nesse modo de fallback, o deserializador aceita um formato de "constructor" que reconstrói objetos personalizados durante o carregamento — mecanismo que, sem restrições, permite apontar para funções do sistema (por exemplo, os.system) e executar comandos embutidos no payload.

O exploit de prova de conceito descrito utiliza um objeto JSON com campos específicos (por exemplo, "lc": 2, "type": "constructor", e um "id" apontando para funções perigosas) que, quando carregado do checkpoint, dispara execução de código no contexto do processo que realiza a desserialização.

Severidade e métricas

A publicação apresenta valores de severidade altos: a matéria cita um escore CVSS próximo de 8.5 e a mesma tabela refere, em contexto de CVSS v4, um valor de 7.5 — diferença que reflete variações na metodologia de pontuação. Em qualquer dos casos, trata‑se de risco elevado, pois a exploração permite execução remota de código (RCE) quando as condições de uso do componente forem atingidas.

Impacto e quem é afetado

  • Sistemas que persistem dados não confiáveis em checkpoints e que usam o JsonPlusSerializer (padrão) estão em risco.
  • Implementações que processam apenas dados confiáveis ou que já usam o LangGraph-API (versões 0.5 ou posteriores, quando aplicável) têm risco prático reduzido, conforme o próprio advisory.
  • A superfície de ataque inclui aplicações de IA/ML que salvam estado de execução em checkpoints e serviços expostos que aceitam checkpoints de terceiros.

Mitigações e recomendações

LangChain lançou langgraph-checkpoint versão 3.0 com correções que implementam uma allow-list para deserialização por construtor, restringindo caminhos permitidos a combinações explícitas de módulo/classe. Além disso, o suporte à gravação de payloads em JSON foi depreciado para eliminar o modo de fallback inseguro.

Recomendações práticas:

  • Atualize imediatamente para langgraph-checkpoint >= 3.0 em todas as instâncias que gravam ou carregam checkpoints.
  • Audite fluxos que aceitam checkpoints de fontes externas; trate checkpoints como dados não confiáveis até prova em contrário.
  • Como mitigação adicional, execute processos de desserialização com privilégios mínimos e em ambientes isolados (container/sandbox), reduzindo impacto de uma exploração bem-sucedida.

Limitações das informações

O advisory esclarece quais condições tornam uma aplicação vulnerável (uso do JsonPlusSerializer e persistência de dados não confiáveis). Não há indicação pública de exploração ativa (exploit in the wild) nas fontes consultadas até o momento; as publicações indicam apenas o PoC técnico e disponibilizam a correção.

Próximos passos para equipes de segurança

Priorize inventário de dependências e verifique a presença do pacote langgraph-checkpoint em pipelines de CI/CD, serviços de inferência e armazenamentos de checkpoints. Planeje a atualização coordenada para 3.0, valide a compatibilidade em ambientes de teste e aplique controles de execução (privilégios, isolamento) até a mitigação completa.


Baseado em publicação original de Cyber Security News
Publicado pela Redação Hack Alerta com base em fontes externas citadas e monitoramento editorial do Hack Alerta. Para decisões técnicas, operacionais ou jurídicas, confirme sempre os detalhes na fonte original.