Description
Pomerium is an identity and context-aware access proxy. Prior to 0.32.8, decodeQueryStringV2 in pkg/hpke/url.go performs zstd decompression of attacker-controlled data without an output-memory limit when DecryptURLValues processes HPKE V2 values for Stateless.Callback in internal/authenticateflow/stateless.go. In hosted or stateless authentication deployments, an unauthenticated attacker can obtain the receiver key from /.well-known/pomerium/hpke-public-key, provide a matching attacker-controlled sender key, and send a compressed payload to /.pomerium/callback that expands before validateSenderPublicKey rejects the sender. This can allocate hundreds of megabytes per request, exhaust proxy memory, crash or degrade the process, and block access to applications protected by the deployment. Stateful deployments are not affected because the stateful callback verifies its HMAC signature before decryption and decompression. This issue is fixed in version 0.32.8.
Published: 2026-09-17
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

Pomerium’s pre‑authentication URL decryption routine performs zstd decompression of attacker‑controlled data without an output‑memory limit. The result is a use‑of‑memory vulnerability that can allocate hundreds of megabytes per request, exhausting the proxy’s RAM and causing crashes or degraded performance. The flaw is limited to stateless deployments; stateful callbacks verify an HMAC signature before decryption and are not affected. The combination of high memory usage and lack of authentication enables a remote denial of service but not code execution.

Affected Systems

All versions of the Pomerium access proxy older than 0.32.8 are vulnerable. The fix is included in release v0.32.8 and later. Upgrades to a supported version are required to mitigate the issue.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity vulnerability. The EPSS score of less than 1% suggests a low probability of exploitation in the wild, and the issue is not currently listed in the CISA KEV catalog. An attacker can trigger the flaw by making an unauthenticated HTTP request to the /.pomerium/callback endpoint with a specially crafted HPKE payload, so the attack vector is web‑based and requires network reachability to the proxy. While no public exploits are reported, the combination of high impact and low EPSS warrants immediate attention for deployments that expose the callback endpoint to untrusted clients.

Generated by OpenCVE AI on September 19, 2026 at 01:35 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Pomerium to version 0.32.8 or later.
  • If a patch cannot be applied immediately, limit access to the /.pomerium/callback endpoint by firewall rules or reverse proxy to trusted networks only.
  • Verify that the deployment uses the stateful authentication flow, which provides HMAC protection before decryption and is not impacted by this flaw.

Generated by OpenCVE AI on September 19, 2026 at 01:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-ggw3-5987-rx77 Pomerium Pre-Auth Memory Exhaustion via Unbounded zstd Decompression in HPKE Callback
History

Fri, 18 Sep 2026 13:00:00 +0000

Type Values Removed Values Added
First Time appeared Pomerium
Pomerium pomerium
Vendors & Products Pomerium
Pomerium pomerium

Thu, 17 Sep 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 17 Sep 2026 20:00:00 +0000

Type Values Removed Values Added
Description Pomerium is an identity and context-aware access proxy. Prior to 0.32.8, decodeQueryStringV2 in pkg/hpke/url.go performs zstd decompression of attacker-controlled data without an output-memory limit when DecryptURLValues processes HPKE V2 values for Stateless.Callback in internal/authenticateflow/stateless.go. In hosted or stateless authentication deployments, an unauthenticated attacker can obtain the receiver key from /.well-known/pomerium/hpke-public-key, provide a matching attacker-controlled sender key, and send a compressed payload to /.pomerium/callback that expands before validateSenderPublicKey rejects the sender. This can allocate hundreds of megabytes per request, exhaust proxy memory, crash or degrade the process, and block access to applications protected by the deployment. Stateful deployments are not affected because the stateful callback verifies its HMAC signature before decryption and decompression. This issue is fixed in version 0.32.8.
Title Pomerium: Pre-Auth Memory Exhaustion via Unbounded zstd Decompression in HPKE Callback
Weaknesses CWE-1284
CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Pomerium Pomerium
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-17T20:19:48.967Z

Reserved: 2026-06-04T16:26:05.985Z

Link: CVE-2026-50285

cve-icon Vulnrichment

Updated: 2026-09-17T20:18:48.925Z

cve-icon NVD

Status : Deferred

Published: 2026-09-17T20:16:50.290

Modified: 2026-09-24T21:25:27.050

Link: CVE-2026-50285

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-19T01:45:16Z

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input

  • CWE-770

    Allocation of Resources Without Limits or Throttling