Skip to main content

Warpgate EUVDEUVD-2026-84063

| CVE-2026-91165 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-09-21 GitHub_M
2.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious next/claim payload
  2. Delivery
    Lure victim to SSO return link
  3. Exploit
    Victim completes form_post SSO flow
  4. Execution
    Injected markup renders under CSP
  5. Impact
    Spoofed 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 next redirect parameter stored through sso_provider_detail.rs, or (b) IdP-derived error messages, which is only reachable when the attacker controls a configured identity provider OR controls the email/username claim on an attacker-controlled account and the IdP permits the required unvalidated claim format. A victim must actively complete the form_post SSO flow (UI:R) for the injected markup to render. Critically, Warpgate's Content-Security-Policy blocks injected JavaScript and event handlers, so exploitation cannot achieve script execution - impact is limited to content spoofing, a false login form, or a meta refresh. Fixed in 0.27.6; versions at or above are not affected.

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 next redirect parameter stored by sso_provider_detail.rs) that resembles the confirmed unauthenticated sibling CVE-2026-58491 (PR:N) - so the true privilege prerequisite may be lower than PR:H for one code path; verify with the vendor which path was scored. Exploitation status: no public exploit identified at time of analysis. Net: real but negligible risk, dominated by the CSP mitigation and the requirement that a victim complete an SSO flow.

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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

warpgate < 0.27.6

Affected Packages

euvd warpgate fix: 0.27.6

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

Vendor (GitHub_M) PRIMARY 2.4 LOW
AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N
vuln.today AI 3.5 LOW

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 21, 2026 - 20:02 EUVD

DescriptionCVE.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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche open-source SSH/HTTPS/MySQL bastion host for Linux, small self-hosted footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2026-58491 CRITICAL POC
9.3 Sep 21

Stored cross-site scripting and open redirect in Warpgate's SSO endpoints (versions prior to 0.25.5) allow an unauthenti

CVE-2024-43410 HIGH POC
7.5 Aug 21

Russh is a Rust SSH client & server library. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2023-48712 HIGH
8.8 Nov 24

Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. Rated high severity (CVSS 8.8), this vulnerabili

CVE-2023-37268 HIGH
8.8 Jul 14

Warpgate is an SSH, HTTPS and MySQL bastion host for Linux that doesn't need special client apps. Rated high severity (C

CVE-2023-43660 HIGH
8.1 Sep 27

Warpgate is a smart SSH, HTTPS and MySQL bastion host for Linux that doesn't need special client apps. Rated high severi

CVE-2026-63330 HIGH
7.7 Sep 21

Missing authorization checks on Warpgate's recording-stream WebSocket let any authenticated user with an ordinary accoun

CVE-2026-91167 MEDIUM
6.0 Sep 21

Missing authorization in Warpgate's admin API allows an authenticated limited administrator who holds any single admin p

CVE-2026-44347 MEDIUM
5.8 May 12

SSO login flow in Warpgate bastion host prior to 0.23.3 omits validation of the OAuth state parameter, enabling a cross-

CVE-2026-91166 MEDIUM
5.7 Sep 21

Host-key trust confusion in Warpgate's browser SSH client (warpgate-web-ssh) lets a malicious or compromised SSH jump ho

CVE-2026-63329 MEDIUM
4.9 Sep 21

Identity-header forwarding in the Warpgate SSH/HTTPS/MySQL bastion host prior to version 0.25.6 lets an authenticated us

CVE-2026-91164 MEDIUM
4.3 Sep 21

IP allow-list enforcement in Warpgate 0.23.0 through 0.27.2 is bypassed for HTTP API token authentication: when a user h

CVE-2025-54804 MEDIUM POC
6.5 Aug 05

Russh is a Rust SSH client & server library. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy