---
id: CVE-2026-91168
title: >-
  Warpgate: Kubernetes authorization correlation can be reused by a recreated
  same-name account
summary: >-
  Warpgate is an open source SSH, HTTPS, and MySQL bastion host for Linux. From
  0.21.0 until 0.29.0, the Kubernetes request correlator in
  warpgate-protocol-kubernetes/src/correlator.rs keys an authorized
  AdmittedTarget by username, target_…
severity: medium
cvss: 6.8
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N'
cvssSource: cna
cwe:
  - CWE-639
vendor: warp-tech
product: warpgate
affected:
  - 'warpgate >= 0.21.0, < 0.29.0'
published: '2026-11-04'
updated: '2026-11-04'
sourceUpdated: '2026-11-04T15:17:23.805Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-91168'
references:
  - url: >-
      https://github.com/warp-tech/warpgate/security/advisories/GHSA-pw7m-635x-pmx7
    label: >-
      https://github.com/warp-tech/warpgate/security/advisories/GHSA-pw7m-635x-pmx7
  - url: >-
      https://github.com/warp-tech/warpgate/commit/2f77f07b8335ff495068aa10d650d4b314bf4cc8
    label: >-
      https://github.com/warp-tech/warpgate/commit/2f77f07b8335ff495068aa10d650d4b314bf4cc8
  - url: 'https://github.com/warp-tech/warpgate/releases/tag/v0.29.0'
    label: 'https://github.com/warp-tech/warpgate/releases/tag/v0.29.0'
tags:
  - cve.org
ingestedAt: '2026-11-05T21:36:00.406Z'
epss: 0.0028
epssPercentile: 0.20641
---

## Overview

Warpgate is an open source SSH, HTTPS, and MySQL bastion host for Linux. From 0.21.0 until 0.29.0, the Kubernetes request correlator in warpgate-protocol-kubernetes/src/correlator.rs keys an authorized AdmittedTarget by username, target_name, and client IP rather than by the immutable user UUID, while KubernetesSessionHandle::close does not evict the entry. If an account is deleted and a different low-privilege account is created with the same username, the replacement account can successfully authenticate as that recreated username and reuse the predecessor's still-live correlation entry when requesting the same target from the same client IP before kubernetes.session_max_age expires. Current-request authentication still occurs, but the reused entry bypasses a fresh target authorization check and can cause Warpgate to proxy requests with Kubernetes target credentials that the replacement account is not authorized to use, exposing cluster resources or permitting unauthorized mutations. This issue is fixed in version 0.29.0.

## Affected

- `warpgate >= 0.21.0, < 0.29.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
