Open WebUI: Unapproved accounts can open terminal sessions via a WebSocket auth path missing the role check
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.8.8 until 0.11.0, the terminal WebSocket route in backend/open_webui/routers/terminals.py authenticated its own first-message JWT and never applied the verified-user role gate that get_verified_user enforces on HTTP terminal routes. An account whose role is pending, including a registered but unapproved account or an account deactivated back to pending, can open an interactive terminal session when at least one terminal server is configured and its access grants cover the account. This loses the account-approval boundary for terminal access while the HTTP terminal routes correctly reject the same account. This issue is fixed in 0.11.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-70490
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 15:50 UTC · Revision 1
Source evidence
Open WebUI: Unapproved accounts can open terminal sessions via a WebSocket auth path missing the role check
core-osv · Original sourcePublished 4 Aug 2026, 20:44 UTC
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.8.8 until 0.11.0, the terminal WebSocket route in backend/open_webui/routers/terminals.py authenticated its own first-message JWT and never applied the verified-user role gate that get_verified_user enforces on HTTP terminal routes. An account whose role is pending, including a registered but unapproved account or an account deactivated back to pending, can open an interactive terminal session when at least one terminal server is configured and its access grants cover the account. This loses the account-approval boundary for terminal access while the HTTP terminal routes correctly reject the same account. This issue is fixed in 0.11.0.
osv:CVE-2026-70490
Complete source record
{
"id": "aeacbafdf07c567e84a8455179cb111e6bcec2bd72114121a75a0c5a7acc82a6",
"url": "https://osv.dev/vulnerability/CVE-2026-70490",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Open WebUI: Unapproved accounts can open terminal sessions via a WebSocket auth path missing the role check",
"summary": "Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.8.8 until 0.11.0, the terminal WebSocket route in backend/open_webui/routers/terminals.py authenticated its own first-message JWT and never applied the verified-user role gate that get_verified_user enforces on HTTP terminal routes. An account whose role is pending, including a registered but unapproved account or an account deactivated back to pending, can open an interactive terminal session when at least one terminal server is configured and its access grants cover the account. This loses the account-approval boundary for terminal access while the HTTP terminal routes correctly reject the same account. This issue is fixed in 0.11.0.",
"evidence": "osv:CVE-2026-70490",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-70490",
"aliases": [
"CVE-2026-70490",
"GHSA-5gpj-vj23-vhhv",
"PYSEC-2026-3642"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/open-webui/open-webui",
"type": "GIT",
"events": [
{
"introduced": "79f04379801622181ef9c591374a285eac4e1c4d"
},
{
"fixed": "f9590b8017199e56d5e953657e6498e3cef1d246"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0.8.8"
},
{
"fixed": "0.11.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:openwebui:open_webui:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0.8.8"
},
{
"fixed": "0.11.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"v0.10.2",
"v0.10.1",
"v0.10.0",
"v0.9.5",
"v0.9.4",
"v0.9.3",
"v0.9.2",
"v0.9.1",
"v0.9.0",
"v0.8.12",
"v0.8.11",
"v0.8.10",
"v0.8.9",
"v0.8.8"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-70490.json"
}
}
],
"modified": "2026-10-28T02:30:37.042547436Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/70xxx/CVE-2026-70490.json",
"https://github.com/open-webui/open-webui/security/advisories/GHSA-5gpj-vj23-vhhv",
"https://nvd.nist.gov/vuln/detail/CVE-2026-70490"
],
"provider_metadata": {
"cwe_ids": [
"CWE-863"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/70xxx/CVE-2026-70490.json"
}
},
"related_cves": [
{
"value": "CVE-2026-70490",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 504294,
"published_at": "2026-08-04T20:44:54.737+00:00"
}