Skip to main content

Warpgate CVE-2026-91164

| EUVDEUVD-2026-84062 MEDIUM
Improper Access Control (CWE-284)
2026-09-21 GitHub_M
4.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain leaked/exfiltrated X-Warpgate-Token
  2. Delivery
    Send HTTP API request from prohibited network
  3. Exploit
    allowed_ip_ranges check skipped for UserToken
  4. Execution
    Authenticate as victim user
  5. Impact
    Read victim profile/info via HTTP API

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
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

Exploitation requires two specific conditions to both hold. First, the targeted Warpgate user account must have allowed_ip_ranges configured - the advisory states deployments without allowed_ip_ranges are entirely unaffected. Second, the attacker must already possess a valid X-Warpgate-Token for that user, obtained out-of-band via leak, phishing, or exfiltration (the vulnerability does not mint or forge tokens). The exposure is further limited to the HTTP API token flow reaching endpoints like /@warpgate/api/info and profile data; the description explicitly excludes HTTP target proxying and the SSH, MySQL, PostgreSQL, RDP, VNC, and Kubernetes paths. Affected versions are 0.23.0 through before 0.27.3; upgrading to 0.27.3 (which binds tokens to the user's allowed ranges and honors user lockout) removes the flaw.

Impact

This is a genuinely low-priority, tightly-gated access-control weakness - not a high-CVSS-masquerading issue, and the vendor's 4.3 (MEDIUM) rating is honest. The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N is consistent with the description: PR:L reflects that the attacker must already hold a valid API token (a credential), and impact is confidentiality-only and limited (C:L, I:N, A:N) because the vulnerable HTTP token flow only exposes profile/info-level API endpoints. Critically, the flaw is a defense-in-depth bypass rather than a primary auth bypass: the attacker needs a leaked/phished/exfiltrated X-Warpgate-Token AND the deployment must actually configure allowed_ip_ranges (default-off deployments are explicitly unaffected). No EPSS score, no CISA KEV listing, and no public exploit code were provided - the only 'exploit' artifacts are the vendor's own regression tests in PR #2356. No SSVC decision data was supplied. There are no conflicting signals between the vector and description; both agree this requires prior credential compromise plus a specific hardening config, so real-world exploitation is contingent on a separate token-theft event succeeding first.

Exploit ScenarioDerived

An operator hardens a Warpgate user account with allowed_ip_ranges so its API tokens should only work from a corporate IP range. An attacker who has separately phished or exfiltrated that user's X-Warpgate-Token (e.g. from a leaked script, CI secret, or compromised endpoint) then replays it from an arbitrary/prohibited network and Warpgate accepts it, reading the victim's profile/info via the HTTP API. No public exploit code exists; only vendor regression tests demonstrate the behavior.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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

IP allow-list enforcement in Warpgate 0.23.0 through 0.27.2 is bypassed for HTTP API token authentication: when a user has allowed_ip_ranges configured, a presented X-Warpgate-Token is still resolved into a fully authorized RequestAuthorization::UserToken regardless of the source address, so a leaked, phished, or exfiltrated token can be used from a prohibited network location. Impact is limited to confidentiality of what the token-holding user could already read through the HTTP API (CVSS 4.3, C:L/I:N/A:N) - HTTP target proxying and the SSH, MySQL, PostgreSQL, RDP, VNC, and Kubernetes paths do not accept this token flow, and deployments without allowed_ip_ranges are unaffected. The issue is a remote, authenticated weakness (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) with no public exploit identified at time of analysis, and it is fixed in Warpgate 0.27.3.

RemediationAI

Upgrade to Warpgate 0.27.3, the version in which tokens are bound to the owning user's allowed_ip_ranges and user lockout also suppresses token authentication; the release is at https://github.com/warp-tech/warpgate/releases/tag/v0.27.3 and the advisory is https://github.com/warp-tech/warpgate/security/advisories/GHSA-qmr2-wp96-h9ff, with the upstream fix in https://github.com/warp-tech/warpgate/pull/2356 and commit 8cb33a1a7c447ab0cde3a1ee9f95bf9dde905482 (so an interim build from that commit is possible where a tagged release cannot yet be deployed). Until upgrading, the effective compensating control is to stop treating allowed_ip_ranges as a security boundary for API-token traffic: revoke or rotate any X-Warpgate-Token that may have been exposed and issue shortExpiry tokens (the API supports an explicit expiry, as the upstream tests demonstrate), since revoking removed tokens is the only way to neutralize an already-exfiltrated credential - note this does not fix the bypass for tokens still outstanding. Enforce the intended network boundary in front of the Warpgate HTTP listener instead, e.g. at the reverse proxy or firewall, accepting that this moves the control outside Warpgate and must be kept in sync with per-user policy; be aware that setting http.trust_x_forwarded_headers changes how the client address is derived and should only be enabled behind a trusted proxy, and that it does not by itself remediate the flaw on unpatched versions. Deployments that do not use allowed_ip_ranges need no action beyond routine upgrade scheduling, as they are unaffected.

Affected VersionsENISA

warpgate 0.23.0, < 0.27.3

Affected Packages

euvd warpgate_0_23_0 fix: 0.27.3

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 bastion host that brokers SSH, HTTPS, MySQL, PostgreSQL, RDP, VNC, and Kubernetes access, fronted by an administrative HTTP API. Per the vendor advisory, versions from 0.23.0 up to but not including 0.27.3 resolve ConfigProvider::validate_api_token into RequestAuthorization::UserToken inside warpgate-protocol-http/src/common.rs without ever evaluating the owning user's allowed_ip_ranges against the trusted client address - a classic CWE-284 improper access control defect in which an authorization decision is made about the token but not about the network origin of the request. The upstream fix (PR 2356, commit 8cb33a1a7c447ab0cde3a1ee9f95bf9dde905482) adds integration coverage in tests/test_ip_restrictions.py that exercises the reverse-proxy case via http.trust_x_forwarded_headers and asserts that username_seen_from(DENIED_IP) returns None once the user is restricted to a single /32, plus a companion regression test confirming that user lockout also suppresses API-token authentication. This means the pre-fix code path was doubly permissive: it ignored the per-user IP restriction and did not honor account lockout for token-based requests. The affected component is identified by CPE cpe:2.3:a:warp-tech:warpgate:*:*:*:*:*:*:*:* and the relevant tags (Authentication Bypass, Kubernetes, PostgreSQL) describe the surrounding feature set rather than additional vulnerable code paths, since the advisory explicitly excludes those protocols from this token flow.

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 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 4.3 MEDIUM

PR:L because a valid stolen API token is required; C:L for limited profile/info read; I:N/A:N as the flow grants no write or availability impact; network-reachable HTTP API so AV:N/AC:L.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/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
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Sep 21, 2026 - 20:02 EUVD
CVE Published
Sep 21, 2026 - 18:50 cve.org
MEDIUM 4.3

DescriptionCVE.org

Warpgate is an open source SSH, HTTPS and MySQL bastion host for Linux. From 0.23.0 until 0.27.3, HTTP API token authentication resolves ConfigProvider::validate_api_token into RequestAuthorization::UserToken without enforcing the owning user's allowed_ip_ranges against the trusted client address in warpgate-protocol-http/src/common.rs. An attacker holding a leaked, phished, or exfiltrated X-Warpgate-Token can therefore use it from a prohibited network location. Deployments without allowed_ip_ranges are unaffected, and HTTP target proxying plus SSH, MySQL, PostgreSQL, RDP, VNC, and Kubernetes paths do not accept this vulnerable HTTP token flow. This issue is fixed in version 0.27.3.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche open-source SSH/HTTPS/MySQL bastion host, 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-91165 LOW
2.4 Sep 21

Markup injection in Warpgate's form_post SSO return interstitial (warpgate-protocol-http/src/api/sso_provider_list.rs) a

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