Pypi · Langchain · CVE-2026-44843
**Nome do Software Vulnerável e Versões Afetadas**
langchain versões anteriores a 0.3.27
**Descrição**
O LangChain contém caminhos de código de tempo de execução que desserializam entradas, saídas ou outras cargas controladas pela aplicação usando listas de permissão de objetos excessivamente amplas, especificamente chamando `load()` com `allowed objects="all"`. Isso permite que dicionários de construtores serializados fornecidos por atacantes instanciem classes confiáveis com argumentos não confiáveis. Este problema pode levar ao Server-Side Request Forgery (SSRF), permitindo o acesso a serviços internos, endpoints de metadados de nuvem ou recursos de rede sensíveis, o que pode resultar no roubo de credenciais e comprometimento persistente da cadeia de suprimentos.
As aplicações estão expostas se aceitarem entradas estruturadas não confiáveis (como JSON) sem validação, preservarem dicionários ou listas aninhadas controladas por atacantes nos dados de execução e utilizarem caminhos de API afetados. As superfícies afetadas conhecidas incluem a classe `RunnableWithMessageHistory`, a função `astream log()` e a função `astream events(version="v1")`. Além disso, uma falha de validação de marcador de segredo na função ` is lc secret` permite que dicionários de construtores evitem a filtragem durante ciclos de `dumps()` para `loads()`.
**Recomendações**
Atualize o langchain para a versão 0.3.27.
Migre a utilização da classe `RunnableWithMessageHistory`, da função `astream log()` e da função `astream events(version="v1")` para padrões de memória e streaming mais recentes, como a API `stream`.
Utilize `load()` e `loads()` apenas com manifestos confiáveis ou objetos de armazenamento confiável; não passe dados controlados pelo usuário para essas funções.
Ao usar `load()` ou `loads()`, forneça um valor `allowed objects` restrito em vez de confiar em padrões amplos ou `allowed objects="all"`.