CVE-2026-33682 json
Streamlit on Windows has Unauthenticated SSRF Vulnerability (NTLM Credential Exposure)
published 7mo ago modified 3mo ago also EUVD-2026-16444 , GHSA-7p48-42j8-8846 , PYSEC-2026-2285
- cvss
- 4.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 22%
- public exploits
- 0
- none known
Summary
Streamlit is a data oriented application development framework for python. Streamlit Open Source versions prior to 1.54.0 running on Windows hosts have an unauthenticated Server-Side Request Forgery (SSRF) vulnerability. The vulnerability arises from improper validation of attacker-supplied filesystem paths. In certain code paths, including within the `ComponentRequestHandler`, filesystem paths are resolved using `os.path.realpath()` or `Path.resolve()` before sufficient validation occurs. On Windows systems, supplying a malicious UNC path (e.g., `\\attacker-controlled-host\share`) can cause the Streamlit server to initiate outbound SMB connections over port 445. When Windows attempts to authenticate to the remote SMB server, NTLMv2 challenge-response credentials of the Windows user running the Streamlit process may be transmitted. This behavior may allow an attacker to perform NTLM relay attacks against other internal services and/or identify internally reachable SMB hosts via timing analysis. The vulnerability has been fixed in Streamlit Open Source version 1.54.0.
Patch / fix
- pypi streamlit 1.54.0
- snowflake streamlit 1.54.0
- streamlit streamlit 1.54.0
Is CVE-2026-33682 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7mo ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 22% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.7 | CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 4.7 | CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
| OSV | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | streamlit | <1.54.0 |
1.54.0 |
Affected products
- streamlit streamlit
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/streamlit/streamlit/commit/23692ca70b2f2ac720c72d1feb4f190c9d6eed76
web, patch
-
github.com
/streamlit/streamlit/security/advisories/GHSA-7p48-42j8-8846
web, vendor-advisory, advisory
-
github.com
/streamlit/streamlit/releases/tag/1.54.0
web, product, release-notes, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-33682
advisory
-
github.com
/streamlit/streamlit
package
Sources
- CVE List CVE-2026-33682
- GitHub Advisory GHSA-7p48-42j8-8846
- NVD CVE-2026-33682
- OSV PYSEC-2026-2285
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.