Envoy, JWT Authentication Remote JWKS Fetching Crash Vulnerability, Critical

Listen to this Post

The vulnerability occurs in Envoy’s JWT authentication filter when configured to fetch JSON Web Key Sets (JWKS) remotely from a server. Specifically, when `allow_missing_or_failed` or `allow_missing` is enabled, and a request contains multiple JWT tokens in its headers, a re-entry bug in the `JwksFetcherImpl` class leads to a crash. When the first token’s JWKS fetch fails due to network issues or server errors, the `onJwksError()` callback is triggered. This callback proceeds to process the second JWT token in the request, which initiates another `fetch()` call on the same `JwksFetcherImpl` object. However, the original callback’s `reset()` method is invoked, which clears the internal state variables `receiver_` and `request_` of the fetcher. Meanwhile, the second asynchronous HTTP fetch operation is still pending. When the HTTP response for the second fetch eventually arrives, it attempts to access the cleared state, resulting in a null pointer dereference or invalid memory access. This causes Envoy to crash abruptly, denying service to all subsequent requests. The issue is exacerbated in high-traffic environments where multiple JWT tokens are common, and JWKS servers may be unreliable. The bug is rooted in improper state management during error handling, allowing overlapping fetch operations on a shared object without adequate synchronization or checks.
Platform: Envoy
Version: 1.33.12-1.36.2
Vulnerability: JWT auth crash
Severity: Critical
Date: Dec 3, 2025

Prediction: Patch released Dec2025

What Undercode Say:

Analytics

envoy --version
curl -v http://localhost:10000/config_dump
grep -r "allow_missing_or_failed" /etc/envoy/
jwt_provider:
remote_jwks:
http_uri:
uri: http://example.com/jwks.json
cache_duration: 300s
allow_missing_or_failed: true

Exploit

Send HTTP requests with multiple JWT headers to Envoy with a failing JWKS server; trigger crash via concurrent error handling.

Protection from this CVE

Update to patched versions; disable `allow_missing_or_failed` if possible; use local JWKS files.

Impact

Service disruption, denial-of-service, and unpredictable crashes in production environments.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top