~ / search / GHSA-rr7j-v2q5-chgv

GHSA-rr7j-v2q5-chgv

LangSmith SDK: Streaming token events bypass output redaction

Source: GitHub Advisory Database (reviewed) Moderate CVE-2026-41182

Packages

EcosystemPackageAffectedFixed in
npm langsmith < 0.5.19 0.5.19
PyPI langsmith < 0.7.31 0.7.31

Details

As written in the advisory (Markdown source, shown as plain text).

## 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`.

References

External links from the advisory. They lead to third-party sites.