Pomerium: Pre-Auth Memory Exhaustion via Unbounded zstd Decompression in HPKE Callback
Get instant alerts when new vulnerabilities affect pomerium - before attackers find them.
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.
Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.
No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.
SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.
Get alerted
Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.