Moaaz-0X

#17491de 53,639
15.3CVSS total
Vulnerabilidades · 2
Alta
2
PT-2026-40723
7.1
2026-05-13
Root · @Rootio/Langsmith · CVE-2026-45134
**Nome do Software Vulnerável e Versões Afetadas** LangSmith SDK Python versões anteriores a 0.8.0 LangSmith SDK JS/TS versões anteriores a 0.6.0 **Description** Os métodos de extração de prompt `pull prompt()` e `pull prompt commit()` em Python, e `pullPrompt()` e `pullPromptCommit()` em JS/TS, buscam e desserializam manifestos de prompt do LangSmith Hub. Esses manifestos podem conter objetos LangChain serializados e configurações de modelo que influenciam o comportamento de execução. Ao extrair um prompt público usando um identificador `owner/name`, o conteúdo é controlado por terceiros. Versões anteriores do SDK não diferenciavam esses prompts públicos daqueles dentro da própria organização do chamador, tratando-os como dados inertes em vez de configuração executável. Um invasor pode publicar um prompt malicioso no LangSmith Hub para afetar aplicações que o extraiam. Isso pode levar ao Server-Side Request Forgery (SSRF), redirecionamento de requisições externas e interceptação de tráfego de LLM se o manifesto configurar um cliente LLM com um `base url` ou proxy controlado pelo invasor. Além disso, pode permitir a injeção de prompt ou manipulação de comportamento por meio de mensagens de sistema ou parâmetros de modelo controlados pelo invasor. O risco aumenta quando `include model` é definido como `True`, pois expande a lista de permissões de desserialização para classes de integração de parceiros, ou quando `secrets from env` está habilitado, permitindo a leitura de variáveis de ambiente durante a desserialização. **Recommendations** Atualize o LangSmith SDK Python para a versão 0.8.0 ou posterior. Atualize o LangSmith SDK JS/TS para a versão 0.6.0 ou posterior. Como mitigação temporária, evite extrair prompts públicos por `owner/name` de fontes não confiáveis. Evite usar o parâmetro `secrets from env` ao extrair prompts não confiáveis. Prefira definir `include model` como `false` ao extrair prompts de fontes fora da organização.
PT-2026-39304
8.2
2026-05-08
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"`.