Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged Warpgate user
-
DeliveryIdentify active recording UUID
-
ExploitSubscribe to recording-stream WebSocket
-
ExecutionReceive live terminal I/O
-
ImpactHarvest credentials and commands of admins/other users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated Warpgate account of any privilege level (no admin/RecordingsView permission needed due to the missing check), plus an SSH, MySQL, or PostgreSQL session being actively proxied and recorded at the moment of attack. The attacker must identify the target recording's UUID and connect to the /@warpgate/admin/api/recordings/{uuid}/stream WebSocket. Limiting factors: exploitation only yields data while a session is live-streaming (timing-dependent), it is confidentiality-only (no write/DoS), and it needs authenticated access to the admin API surface rather than being pre-auth. Affected versions are prior to 0.25.6; upgrading to 0.25.6 restores the RecordingsView permission enforcement. |
| Impact | This is a genuine, high-priority information-disclosure flaw within its (authenticated) threat model. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N, base 7.7) is internally consistent with the description: network-reachable WebSocket, low complexity, only a regular authenticated account required, no user interaction, and a scope change (S:C) reflecting that a low-privileged account reaches data belonging to other users and administrators. CWE-285 (Improper Authorization) is the accurate root cause - the commit adds the missing require_admin_permission(AdminPermission::RecordingsView) check that the endpoint dropped. There is NO EPSS score, NO CISA KEV listing, and NO public POC provided in the intelligence - so exploitation likelihood cannot be quantified from probabilistic signals; per the precision rules this is 'no public exploit identified at time of analysis.' The one real-world dampener not captured by AC:L is timing: an attacker must catch a recording while a proxied session is actively streaming, which narrows the window versus a static data pull. The tag set is partly misleading - 'Authentication Bypass' is wrong (the attacker is already authenticated; this is authorization, not authentication) - so anyone triaging by tag should not treat this as a pre-auth bypass. |
| Exploit ScenarioDerived | A user with an ordinary Warpgate account logs into the admin web UI, identifies the UUID of a recording that is currently active (an admin's live SSH or database session), and connects to /@warpgate/admin/api/recordings/{uuid}/stream over WebSocket. Because the endpoint only checked session authentication and not RecordingsView permission, the attacker receives the real-time terminal input/output stream - capturing typed credentials, SQL, and commands. No public exploit code is referenced, but the flaw is trivially reachable with a normal account and low complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Missing authorization checks on Warpgate's recording-stream WebSocket let any authenticated user with an ordinary account watch live terminal input and output from other people's proxied sessions. Specifically, api_get_recording_stream in warpgate-admin/src/api/recordings_detail.rs guards /@warpgate/admin/api/recordings/{uuid}/stream with session authentication only and never calls require_admin_permission for AdminPermission::RecordingsView, so an attacker who can identify an active recording's UUID receives, in real time, the keystrokes and output of proxied SSH, MySQL, and PostgreSQL sessions - including credentials and commands belonging to regular users and administrators. Warpgate versions prior to 0.25.6 are affected and the flaw is fixed in 0.25.6 (CVSS 3.1 7.7, AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N); the attack is authenticated and timing-dependent because the recording must be actively streaming, and no public exploit code was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Warpgate to 0.25.6, which restores the RecordingsView permission enforcement in api_get_recording_stream (fix commit f5cb06ea09065f375870ccee64fe721a2ca79766; release notes at https://github.com/warp-tech/warpgate/releases/tag/v0.25.6 and advisory GHSA-2q37-6vxr-26jr). If immediate upgrade is not possible, the most effective compensating control is to restrict the entire admin API prefix (/@warpgate/admin/api/) to trusted management networks or a VPN via reverse-proxy ACLs, with the trade-off that legitimate administrators lose remote UI access unless they connect through that path; a narrower variant blocks only the /@warpgate/admin/api/recordings/*/stream WebSocket path, which stops the live eavesdropping but also disables the legitimate live-recording view until patched. Disabling session recording entirely removes the data an attacker could stream, at the cost of losing your audit trail for proxied sessions - an acceptable stopgap only for short windows. Because exploitation requires only a valid non-admin account plus knowledge of a recording UUID, also audit and rotate any credentials that transited a session that may have been observed, and treat recording UUIDs as sensitive identifiers rather than relying on their obscurity. Rolling back the fix is not advisable since the missing check is the vulnerability itself.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Warpgate is an open source SSH, HTTPS and MySQL/PostgreSQL bastion host written in Rust, and the affected code lives in the warpgate-admin crate, the administrative API surface that serves the web UI. The endpoint api_get_recording_stream is an Axum-style handler that performs a WebSocket protocol upgrade (ws.on_upgrade) to stream a stored or in-progress session recording by UUID. In vulnerable builds the handler is reached through normal session authentication but never invokes the require_admin_permission helper with AdminPermission::RecordingsView, so the route effectively enforces only 'is logged in' rather than 'may view recordings'. This is a classic CWE-285 (Improper Authorization) failure: the authorization decision is simply absent from the handler rather than being implemented incorrectly. Because the recordings capture raw terminal I/O of proxied sessions, the missing check converts an admin-only audit feature into a live eavesdropping channel with a network-reachable, low-privilege prerequisite. The upstream fix adds the require_admin_permission call and changes the handler's return type to Result<impl IntoResponse, WarpgateError> so a denied permission produces an error instead of an upgraded stream.
Know when Warpgate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Any authenticated user (PR:L) reaches a network WebSocket (AV:N/AC:L/UI:N); accessing other users'/admins' proxied session data crosses a security boundary (S:C); read-only credential/command exposure gives C:H, I:N, A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Prior to 0.25.6, api_get_recording_stream in warpgate-admin/src/api/recordings_detail.rs protects /@warpgate/admin/api/recordings/{uuid}/stream only with session authentication and omits require_admin_permission for AdminPermission::RecordingsView. Any authenticated regular user who identifies an active recording can subscribe to its WebSocket and receive real-time terminal input and output from proxied SSH, MySQL, or PostgreSQL sessions, including credentials, commands, and other sensitive data belonging to users and administrators. This issue is fixed in version 0.25.6.
Technical POC Analysis
CWE-285 (Improper Authorization; the advisory also tags CWE-862, Missing Authorization).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Warpgate versions prior to 0.25.6 carry a missing authorization check in the recording-stream WebSocket that lets any authenticated user with an ordinary account observe live terminal input and output from other people's proxied SSH, MySQL, and PostgreSQL sessions. This exposes plaintext credentials, administrative commands, and sensitive data in real time, giving low-privileged insiders a direct path to credential theft, lateral movement, and compliance violations wherever Warpgate serves as the privileged access gateway. No public exploit identified at time of analysis, though the attack is authenticated and depends on a session actively streaming.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Stored cross-site scripting and open redirect in Warpgate's SSO endpoints (versions prior to 0.25.5) allow an unauthenti
Russh is a Rust SSH client & server library. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,
Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Rated high severity (CVSS 8.8), this vulnerabili
Warpgate is an SSH, HTTPS and MySQL bastion host for Linux that doesn't need special client apps. Rated high severity (C
Warpgate is a smart SSH, HTTPS and MySQL bastion host for Linux that doesn't need special client apps. Rated high severi
Missing authorization in Warpgate's admin API allows an authenticated limited administrator who holds any single admin p
SSO login flow in Warpgate bastion host prior to 0.23.3 omits validation of the OAuth state parameter, enabling a cross-
Host-key trust confusion in Warpgate's browser SSH client (warpgate-web-ssh) lets a malicious or compromised SSH jump ho
Identity-header forwarding in the Warpgate SSH/HTTPS/MySQL bastion host prior to version 0.25.6 lets an authenticated us
IP allow-list enforcement in Warpgate 0.23.0 through 0.27.2 is bypassed for HTTP API token authentication: when a user h
Markup injection in Warpgate's form_post SSO return interstitial (warpgate-protocol-http/src/api/sso_provider_list.rs) a
Russh is a Rust SSH client & server library. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl
EUVD-2026-84061
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB