CVE-2021-39206

8.6 HIGH

📋 TL;DR

CVE-2021-39206 is an authorization bypass vulnerability in Pomerium's underlying Envoy proxy that could allow specially crafted requests to bypass path-based access controls. This affects Pomerium deployments using path prefix policies for authorization. Organizations using Pomerium as an identity-aware access proxy are vulnerable if they haven't patched.

💻 Affected Systems

Products:
  • Pomerium
Versions: All versions before v0.14.8 and v0.15.1
Operating Systems: All platforms running Pomerium
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using path prefix based authorization policies. Other policy types are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could bypass authentication entirely and access restricted internal resources, potentially leading to data exfiltration or lateral movement.

🟠

Likely Case

Unauthorized access to specific resources protected by path-based policies, potentially exposing sensitive applications or data.

🟢

If Mitigated

No impact if path prefix policies are removed or systems are patched to fixed versions.

🌐 Internet-Facing: HIGH - Pomerium is typically deployed as an internet-facing access proxy, making it directly exposed to attackers.
🏢 Internal Only: MEDIUM - Internal deployments could still be exploited by compromised internal users or through lateral movement.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Requires specially crafted requests targeting specific path prefix configurations. No public exploit code available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v0.14.8 or v0.15.1

Vendor Advisory: https://github.com/pomerium/pomerium/security/advisories/GHSA-cfc2-wjcm-c8fm

Restart Required: Yes

Instructions:

1. Upgrade Pomerium to v0.14.8 or v0.15.1. 2. Restart Pomerium services. 3. Verify the upgrade completed successfully.

🔧 Temporary Workarounds

Remove path prefix policies

all

Temporarily disable all path prefix based authorization policies until patching can be completed.

# Edit Pomerium configuration to remove any policies using 'path_prefix' matchers

🧯 If You Can't Patch

  • Remove all path prefix based authorization policies from Pomerium configuration
  • Implement additional network segmentation or WAF rules to filter suspicious requests

🔍 How to Verify

Check if Vulnerable:

Check Pomerium version and verify if path prefix policies are configured. Run: pomerium version

Check Version:

pomerium version

Verify Fix Applied:

Confirm Pomerium version is v0.14.8 or v0.15.1 or later. Verify Envoy version includes fixes for CVE-2021-32777 and CVE-2021-32779.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to path-protected resources
  • Failed authorization attempts followed by successful access

Network Indicators:

  • Requests with specially crafted paths attempting to bypass prefix matching

SIEM Query:

source="pomerium" AND (event="access_granted" OR event="authorization_success") AND resource_path CONTAINS suspicious_patterns

🔗 References

📤 Share & Export