CVE-2025-62706·Python vulnerability
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.5, Authlib’s JWE zip=DEF path performs unbounded DEFLATE decompression. A very small ciphertext can expand into tens or hundreds of megabytes on decrypt, allowing an attacker who can supply decryptable tokens to exhaust memory and CPU and cause denial of service. This issue has been patched in version 1.6.5. Workarounds for this issue involve rejecting or stripping zip=DEF for inbound JWEs at the application boundary, forking and add a bounded decompression guard via decompressobj().decompress(data, MAX_SIZE)) and returning an error when output exceeds a safe limit, or enforcing strict maximum token sizes and fail fast on oversized inputs; combine with rate limiting.
- Severity
- medium
- Software
- Python
- Fixed in
- 1.6.5
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.43% — higher than 35% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
Until: 1.6.5
Fixed in: 1.6.5
How to fix this CVE
Update Authlib to version 1.6.5 or later to remediate a denial-of-service vulnerability in JWT/JWE decompression handling. The flaw allows attackers with valid tokens to trigger unbounded DEFLATE expansion, exhausting server memory and CPU resources. Immediate patching is recommended, especially for applications that accept JWE tokens with zip=DEF compression from untrusted sources.
sudo dnf upgrade python3-authlibDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check the installed version of Authlib by running: python3 -c "import authlib; print(authlib.__version__)"
- Step 2: Review your application's JWE token handling code to identify whether it processes tokens with zip=DEF headers; search your codebase for 'jwe' and 'zip' parameters
- Step 3: Monitor application logs for sudden memory consumption spikes or out-of-memory errors correlated with token processing, especially in OAuth/OpenID Connect middleware
- Step 4: After updating to version 1.6.5 or later, re-run the version check command to confirm the patch is installed: python3 -c "import authlib; print(authlib.__version__)"
FAQ
What is CVE-2025-62706?
CVE-2025-62706 is a denial-of-service vulnerability in Authlib's JWE decompression logic that fails to limit the output size of DEFLATE-compressed tokens. An attacker can craft a tiny encrypted payload that expands to hundreds of megabytes when decompressed, exhausting server resources.
Is CVE-2025-62706 being actively exploited?
No, CVE-2025-62706 is not currently listed in the CISA Known Exploited Vulnerabilities catalog and no public exploits are available.
What versions of Authlib are affected by CVE-2025-62706?
All versions of Authlib prior to version 1.6.5 are vulnerable. Version 1.6.5 and later contain the fix.
How do I check if my server is vulnerable to CVE-2025-62706?
Run: python3 -c "import authlib; v = authlib.__version__; print(f'Vulnerable' if tuple(map(int, v.split('.'))) < (1, 6, 5) else 'Patched')" to determine your vulnerability status.
Does Defensia detect CVE-2025-62706?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Authlib is installed on a monitored server, CVE-2025-62706 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-62706. Free for 1 server.
Get started free