CVE-2026-70491 json
Open WebUI: Tool source code disclosed to read-only users via the tool list and get endpoints
published 3mo ago modified last mo. also EUVD-2026-52922 , GHSA-3r7g-q6cg-q2vx , PYSEC-2026-3639
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 41%
- public exploits
- 0
- none known
Summary
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. In 0.10.2 and earlier, the GET /api/v1/tools/, GET /api/v1/tools/list, and GET /api/v1/tools/id/{id} endpoints in backend/open_webui/routers/tools.py returned full Python tool source to authenticated non-admin read-only users. ToolResponse deliberately omitted source and specs, but ToolUserResponse permitted extra fields and handlers spread a full tool model dump into the response, re-admitting omitted fields. A non-admin with a read grant can obtain another user's server-side tool source, which commonly embeds hard-coded API keys, credentials, and internal service URLs. This issue is fixed in 0.11.0.
Patch / fix
- pypi open-webui 0.11.0
- openwebui open_webui 0.11.0
Is CVE-2026-70491 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
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3mo ago
Exploit prediction
0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/open-webui/open-webui/security/advisories/GHSA-3r7g-q6cg-q2vx referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | open-webui | <0.11.0 |
0.11.0 |
Affected products
- open-webui open-webui
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/open-webui/open-webui/pull/27005
web, patch, vendor-advisory
-
github.com
/open-webui/open-webui/commit/c05de13b4fca1ac8a17153782b46b3d0aacf491c
web, patch
-
github.com
/open-webui/open-webui/security/advisories/GHSA-3r7g-q6cg-q2vx
exploit, web, patch, vendor-advisory
-
github.com
/open-webui/open-webui/releases/tag/v0.11.0
web, release-notes
-
github.com
/open-webui/open-webui
package
-
pypi.org
/project/open-webui
package
-
github.com
/advisories/GHSA-3r7g-q6cg-q2vx
advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-70491
advisory
Sources
- CVE List CVE-2026-70491
- GitHub Advisory GHSA-3r7g-q6cg-q2vx
- NVD CVE-2026-70491
- OSV PYSEC-2026-3639
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.