Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious next/claim payload
-
DeliveryLure victim to SSO return link
-
ExploitVictim completes form_post SSO flow
-
ExecutionInjected markup renders under CSP
-
ImpactSpoofed login form / meta refresh phishing
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the Warpgate SSO login flow configured with response_mode=form_post, and the injected value must reach the return page via either (a) an attacker-controlled |
| Impact | This is a low-priority, high-friction issue despite being an XSS-class (CWE-79) finding. The vendor CVSS of 2.4 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N) already reflects a heavily gated, low-integrity-only impact, and I concur it is minor. The decisive mitigating fact - stated in the description itself - is that Warpgate's Content-Security-Policy blocks the injected JavaScript and event handlers, so the demonstrated impact is NOT script execution but content spoofing (a false login form or a meta refresh). That reduces this from a classic account-takeover XSS to a phishing/UI-redress primitive. No EPSS score, no CISA KEV listing, and no public POC are present in the intelligence, and the only exploit artifact is the vendor commit that fixes it. There is a signal tension worth flagging: the vendor assigned PR:H, but the description gives a plausible path (attacker-controlled |
| Exploit ScenarioDerived | An attacker crafts a malicious SSO return link (or controls an identity provider / a claim on an attacker-controlled account) so that a script-closing sequence is injected into the form_post return page's inline script block. A victim who follows the link and completes the form_post SSO flow is served a spoofed page - for example a fake Warpgate login form to harvest credentials or a meta refresh to an attacker site - though the CSP prevents actual JavaScript execution. No public POC exists beyond the fix commit; exploitation requires victim interaction and completing the SSO handshake. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
Markup injection in Warpgate's form_post SSO return interstitial (warpgate-protocol-http/src/api/sso_provider_list.rs) affects all versions prior to 0.27.6 and allows an attacker who can influence the next redirect parameter or IdP-derived error text to break out of the page's inline redirect script with a script-closing sequence. Because Warpgate's strict Content-Security-Policy blocks injected JavaScript and inline event handlers, the practical impact stops at content spoofing, a fabricated login form, or a meta refresh - not script execution. Reaching the sink requires an authenticated actor with SSO configuration influence (or control of an identity provider / of an email or username claim that the IdP accepts unvalidated), and the victim must actively complete the form_post SSO flow, so exploitation is high-friction; there is no public exploit identified at time of analysis and the issue is rated low severity (CVSS 3.1 base 2.4, assessed vector PR:L). The vendor released the fix in 0.27.6.
RemediationAI
Vendor-released patch: upgrade to Warpgate 0.27.6 (https://github.com/warp-tech/warpgate/releases/tag/v0.27.6), which applies script-context HTML escaping to the serialized redirect URL, form-urlencodes the login_error parameter, and adds a nonce-scoped CSP for the SSO interstitial; the underlying change is commit e94425a08f501383a67316673749dcbd637c6ce3 and full details are in advisory GHSA-vvpj-p7j8-4rv4. If immediate upgrade is not possible, the most effective compensating control is to stop using response_mode=form_post for configured identity providers and switch to a response_mode that does not render the inline redirect page (for example a query or fragment based flow), accepting that this changes IdP-side configuration and may not be supported by every provider. Additionally restrict who may create or edit SSO provider configurations and IdP claim mappings, since the injection requires an actor who controls a configured IdP or an account whose email/username claim the IdP passes through unvalidated, and audit IdP claim formats so unexpected characters in email and username claims are rejected before they reach Warpgate's error paths. Note that blocking or rewriting </script> in a reverse proxy would blunt both injection routes but risks corrupting legitimate IdP error text and does not address the unencoded login_error concatenation, so it should be treated as temporary only; there is no configuration flag in Warpgate itself that neutralizes this rendering path.
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 a Rust-based SSH, HTTPS and MySQL bastion host; its HTTP protocol crate renders the SSO login flow via the poem_openapi framework. On the response_mode=form_post return path, the handler in sso_provider_list.rs serialized the post-login redirect URL with serde_json::to_string and interpolated it directly into an inline <script>location.href = ...;</script> block. JSON string escaping does not neutralize the HTML script-closing sequence, so an attacker-supplied string containing </script> terminates the script element and the following bytes are parsed as HTML markup - the classic CWE-79 root cause of contextually unescaped output. Two injection routes feed the same sink: the attacker-controlled next parameter persisted by sso_provider_detail.rs, and IdP-derived error messages concatenated by make_redirect_url without URL encoding. The vendor's fix (commit e94425a08f501383a67316673749dcbd637c6ce3) applies html_escape::encode_script to the serialized value, moves the login_error parameter to a properly form-urlencoded query string, and adds a per-request nonce to the Content-Security-Policy script-src directive (warpgate_csp_with_script_nonce) so only the intended inline script executes. Warpgate's existing CSP is what caps the demonstrated impact at spoofing rather than script execution.
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:H/UI:R/S:U/C:N/I:L/A:N
Network-reachable SSO endpoint (AV:N); victim must complete the flow (UI:R); PR:L rather than vendor PR:H because the stored next-param path needs at most a low-privileged/attacker-controlled account; CSP limits impact to content spoofing so only I:L, C:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Prior to 0.27.6, the response_mode=form_post SSO return path in warpgate-protocol-http/src/api/sso_provider_list.rs uses serde_json::to_string inside ReturnToSsoPostResponse without neutralizing a script-closing sequence. The vulnerable value can enter the script block through the attacker-controlled next redirect parameter stored by warpgate-protocol-http/src/api/sso_provider_detail.rs or through IdP-derived error messages that make_redirect_url concatenates without URL encoding. The IdP-derived path is reachable when the attacker controls a configured identity provider, or when the attacker controls the email or username claim on an attacker-controlled account and the configured identity provider permits the required unvalidated claim format. A victim must complete the form_post SSO flow for the injected markup to be rendered. The Warpgate Content-Security-Policy blocks injected JavaScript and event handlers, so the demonstrated impact is content spoofing, a false login form, or a meta refresh rather than script execution. This issue is fixed in version 0.27.6.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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 checks on Warpgate's recording-stream WebSocket let any authenticated user with an ordinary accoun
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
Russh is a Rust SSH client & server library. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl
EUVD-2026-84063
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB