PYSEC-2026-2583
LangSmith SDK: Streaming token events bypass output redaction
Quick fix
PYSEC-2026-2583 — langsmith: upgrade to the fixed version with the command below.
pip install --upgrade 'langsmith>=0.7.31'Details
## Summary
The LangSmith SDK's output redaction controls (hideOutputs in JS, hide_outputs in Python) do not apply to streaming token events. When an LLM run produces streaming output, each chunk is recorded as a new_token event containing the raw token value. These events bypass the redaction pipeline entirely — prepareRunCreateOrUpdateInputs (JS) and _hide_run_outputs (Python) only process the inputs and outputs fields on a run, never the events array. As a result, applications relying on output redaction to prevent sensitive LLM output from being stored in LangSmith will still leak the full streamed content via run events.
## Details
**Both JS and Python SDKs are affected.** The same pattern exists in both:
- **JS SDK**: `traceable.ts:997-1003` and `traceable.ts:1044-1050` - **Python SDK**: `run_helpers.py:1924` and `run_helpers.py:1996`
In both SDKs, `new_token` events with raw `kwargs.token` values are added during streaming, and the redaction pipeline (`hideOutputs` in JS, `hide_outputs` in Python) only processes `inputs`/`outputs` — never `events`.
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/langchain-ai/langsmith-sdk/security/advisories/GHSA-rr7j-v2q5-chgv[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-41182[ADVISORY]
- https://github.com/langchain-ai/langsmith-sdk[PACKAGE]
- https://pypi.org/project/langsmith[PACKAGE]
- https://github.com/advisories/GHSA-rr7j-v2q5-chgv[ADVISORY]