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.