CVE-2026-59152
Arbitrary server-side file read in LangSmith SDK TracingMiddleware
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.8.18, an attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary. This vulnerability is fixed in 0.8.18.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.0
Arbitrary server-side file read in LangSmith SDK TracingMiddleware
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.8.18, an attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary. This vulnerability is fixed in 0.8.18.
- Record
CVE-2026-59152- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N - Weakness
- CWE-22, CWE-346, CWE-843
- Updated
- 2026-11-02
EUVDEUVD-2026-41879
5.0
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.8.18, an attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary. This vulnerability is fixed in 0.8.18.
- Record
EUVD-2026-41879- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f4xh-w4cj-qxq8
7.7
LangSmith SDK TracingMiddleware: Arbitrary server-side file read
Summary
An attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary.
Impact
Confidentiality (High): arbitrary read of files accessible to the server process, exposed to anyone with workspace trace-read access.
Details
Two defects combine. A field supplied through a tracing-propagation header was merged into the run without validation, allowing injection of run attributes including attachments (CWE-346). A type check intended to gate filesystem access did not match the type of the decoded input, so the guard never engaged (CWE-843). As a result, an attacker-named file is opened by the server and uploaded as a trace attachment by the background tracing thread (CWE-22).
Who can exploit this
- Anyone reachable by HTTP can trigger the file read. Depending on how the distributed trace system is deployed, triggering may not require authentication.
- Retrieving the file contents requires read access to the destination LangSmith workspace. The upload uses the server's own configured API key and workspace, which the attacker cannot redirect, so a zero-access outsider cannot retrieve the result; a workspace member, or anyone who has compromised one, can.
Remediation
Upgrade the Python SDK to >= 0.8.18.
Workarounds
Until upgrading, do not expose TracingMiddleware to untrusted HTTP traffic, and limit workspace trace-read access to trusted members.
Credits
First reported by @Ryu7zz.
- Record
GHSA-f4xh-w4cj-qxq8- CVSS 3.1
- 7.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - Weakness
- CWE-22, CWE-346, CWE-843
- Updated
- 2026-11-02
NVD
5.0
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.8.18, an attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary. This vulnerability is fixed in 0.8.18.
- Record
CVE-2026-59152- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N - Weakness
- CWE-22, CWE-346, CWE-843
- Updated
- 2026-11-02
OSV
5.0
Arbitrary server-side file read in LangSmith SDK TracingMiddleware
LangSmith Client SDKs provide SDK's for interacting with the LangSmith platform. Prior to 0.8.18, an attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary. This vulnerability is fixed in 0.8.18.
- Record
CVE-2026-59152- CVSS 3.1
- 5.0 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N - Weakness
- CWE-22, CWE-346, CWE-843
- Updated
- 2026-11-02
OSVGHSA-f4xh-w4cj-qxq8
7.7
LangSmith SDK TracingMiddleware: Arbitrary server-side file read
Summary
An attacker who can send an HTTP request to a server running the LangSmith SDK's TracingMiddleware can cause that server to read an arbitrary file from its local filesystem and upload the contents to LangSmith as a trace attachment. Depending on how the distributed trace system is deployed, triggering a read may not require authentication. Retrieving the contents requires read access to the LangSmith workspace the traces are sent to. The net effect is a trust-boundary crossing: a party with workspace trace-read access (for example a low-privilege workspace member, a contractor, or a compromised teammate account) gains the ability to read files from any server running TracingMiddleware, a capability outside that workspace's intended trust boundary.
Impact
Confidentiality (High): arbitrary read of files accessible to the server process, exposed to anyone with workspace trace-read access.
Details
Two defects combine. A field supplied through a tracing-propagation header was merged into the run without validation, allowing injection of run attributes including attachments (CWE-346). A type check intended to gate filesystem access did not match the type of the decoded input, so the guard never engaged (CWE-843). As a result, an attacker-named file is opened by the server and uploaded as a trace attachment by the background tracing thread (CWE-22).
Who can exploit this
- Anyone reachable by HTTP can trigger the file read. Depending on how the distributed trace system is deployed, triggering may not require authentication.
- Retrieving the file contents requires read access to the destination LangSmith workspace. The upload uses the server's own configured API key and workspace, which the attacker cannot redirect, so a zero-access outsider cannot retrieve the result; a workspace member, or anyone who has compromised one, can.
Remediation
Upgrade the Python SDK to >= 0.8.18.
Workarounds
Until upgrading, do not expose TracingMiddleware to untrusted HTTP traffic, and limit workspace trace-read access to trusted members.
Credits
First reported by @Ryu7zz.
- Record
GHSA-f4xh-w4cj-qxq8- CVSS 3.1
- 7.7 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N - Weakness
- CWE-22, CWE-346, CWE-843
- Updated
- 2026-11-02
OSVROOT-APP-PYPI-GHSA-f4xh-w4cj-qxq8 No score
GHSA-f4xh-w4cj-qxq8 in langsmith - Patched by Root
Root has patched GHSA-f4xh-w4cj-qxq8 in the langsmith package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-GHSA-f4xh-w4cj-qxq8- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
langsmithPyPI |
before 0.8.18 | 0.8.18 |
langsmithPyPI |
before 0.8.18, plus listed versions 0.0.0rc00.0.10.0.100.0.110.0.12 Show 45 moreShow less0.0.130.0.140.0.150.0.160.0.180.0.190.0.20.0.200.0.210.0.220.0.230.0.240.0.250.0.260.0.270.0.280.0.290.0.30.0.300.0.310.0.320.0.330.0.340.0.350.0.360.0.370.0.380.0.390.0.40.0.400.0.410.0.420.0.430.0.440.0.450.0.460.0.470.0.480.0.490.0.50.0.500.0.510.0.520.0.530.0.54 |
0.8.18 |
langsmithRoot:PyPI |
before 0.7.6+aikido.4 | 0.7.6+aikido.40.4.9+aikido.50.4.30+aikido.60.7.19+aikido.60.7.17+aikido.60.5.0+aikido.50.4.43+aikido.50.4.45+aikido.50.7.37+aikido.30.6.3+aikido.50.4.13+aikido.70.4.40+aikido.50.4.52+aikido.50.4.39+aikido.50.7.4+aikido.40.4.24+aikido.70.4.25+aikido.70.7.28+aikido.60.7.15+aikido.50.7.6+aikido.50.7.1+aikido.50.6.0+aikido.60.4.27+aikido.70.7.36+aikido.30.4.32+aikido.60.6.5+aikido.50.5.1+aikido.50.7.3+aikido.60.7.32+aikido.40.7.25+aikido.60.4.11+aikido.70.4.55+aikido.50.4.19+aikido.70.6.6+aikido.50.4.34+aikido.50.4.9+aikido.60.6.8+aikido.50.6.2+aikido.50.4.41+aikido.60.4.26+aikido.70.4.23+aikido.70.4.56+aikido.60.8.3+aikido.10.4.48+aikido.60.4.17+aikido.70.4.46+aikido.50.8.15+aikido.10.4.51+aikido.50.6.1+aikido.50.8.4+aikido.10.4.44+aikido.50.8.0+aikido.10.7.5+aikido.40.4.33+aikido.60.4.15+aikido.70.7.30+aikido.60.4.47+aikido.50.7.9+aikido.40.5.2+aikido.60.4.49+aikido.60.4.59+aikido.50.7.27+aikido.60.7.20+aikido.60.4.37+aikido.60.4.18+aikido.70.6.7+aikido.50.7.11+aikido.50.7.33+aikido.40.4.36+aikido.50.4.54+aikido.60.4.12+aikido.70.4.53+aikido.50.4.57+aikido.50.4.28+aikido.70.4.29+aikido.70.4.60+aikido.50.7.10+aikido.50.6.9+aikido.50.7.7+aikido.40.4.10+aikido.80.4.22+aikido.70.7.14+aikido.50.7.31+aikido.40.7.34+aikido.40.7.16+aikido.50.7.38+aikido.30.8.5+aikido.10.8.8+aikido.10.8.2+aikido.10.4.35+aikido.60.7.23+aikido.60.6.4+aikido.50.4.50+aikido.60.7.26+aikido.60.7.22+aikido.60.7.29+aikido.60.4.16+aikido.70.4.20+aikido.70.4.42+aikido.60.7.13+aikido.50.7.0+aikido.50.7.12+aikido.50.4.31+aikido.60.4.58+aikido.50.7.2+aikido.60.7.18+aikido.60.4.21+aikido.70.7.24+aikido.60.4.14+aikido.80.7.21+aikido.60.4.38+aikido.50.7.8+aikido.40.8.6+aikido.10.7.21+aikido.7 |
rootio-langsmithRoot:PyPI |
before 0.7.6+root.io.4 | 0.7.6+root.io.40.4.9+root.io.50.4.30+root.io.60.7.19+root.io.60.7.17+root.io.60.5.0+root.io.50.4.43+root.io.50.4.45+root.io.50.7.37+root.io.30.6.3+root.io.50.4.13+root.io.70.4.40+root.io.50.4.52+root.io.50.4.39+root.io.50.7.4+root.io.40.4.24+root.io.70.4.25+root.io.70.7.28+root.io.60.7.15+root.io.50.7.6+root.io.50.7.1+root.io.50.6.0+root.io.60.4.27+root.io.70.7.36+root.io.30.4.32+root.io.60.6.5+root.io.50.5.1+root.io.50.7.3+root.io.60.7.32+root.io.40.7.25+root.io.60.4.11+root.io.70.4.55+root.io.50.4.19+root.io.70.6.6+root.io.50.4.34+root.io.50.4.9+root.io.60.6.8+root.io.50.6.2+root.io.50.4.41+root.io.60.4.26+root.io.70.4.23+root.io.70.4.56+root.io.60.8.3+root.io.10.4.48+root.io.60.4.17+root.io.70.4.46+root.io.50.8.15+root.io.10.4.51+root.io.50.6.1+root.io.50.8.4+root.io.10.4.44+root.io.50.8.0+root.io.10.7.5+root.io.40.4.33+root.io.60.4.15+root.io.70.7.30+root.io.60.4.47+root.io.50.7.9+root.io.40.5.2+root.io.60.4.49+root.io.60.4.59+root.io.50.7.27+root.io.60.7.20+root.io.60.4.37+root.io.60.4.18+root.io.70.6.7+root.io.50.7.11+root.io.50.7.33+root.io.40.4.36+root.io.50.4.54+root.io.60.4.12+root.io.70.4.53+root.io.50.4.57+root.io.50.4.28+root.io.70.4.29+root.io.70.4.60+root.io.50.7.10+root.io.50.6.9+root.io.50.7.7+root.io.40.4.10+root.io.80.4.22+root.io.70.7.14+root.io.50.7.31+root.io.40.7.34+root.io.40.7.16+root.io.50.7.38+root.io.30.8.5+root.io.10.8.8+root.io.10.8.2+root.io.10.4.35+root.io.60.7.23+root.io.60.6.4+root.io.50.4.50+root.io.60.7.26+root.io.60.7.22+root.io.60.7.29+root.io.60.4.16+root.io.70.4.20+root.io.70.4.42+root.io.60.7.13+root.io.50.7.0+root.io.50.7.12+root.io.50.4.31+root.io.60.4.58+root.io.50.7.2+root.io.60.7.18+root.io.60.4.21+root.io.70.7.24+root.io.60.4.14+root.io.80.7.21+root.io.60.4.38+root.io.50.7.8+root.io.40.8.6+root.io.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-59152 is a medium vulnerability (CVSS 5.0) in Langchain-ai Langsmith-sdk, published June 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.20%, the 9th percentile. Fixed in langsmith 0.8.18.
References
Left out here: 441 versions. The JSON record has them.