Kimi cli: Authlib Vulnerable to JWE RSA1_5 Bleichenbacher Padding Oracle (CVE-2026-28490)
A cryptographic padding oracle vulnerability (CVE-2026-28490) exists in the Authlib Python library's implementation of the JSON Web Encryption (JWE) RSA1_5 key management algorithm. Authlib disables the Bleichenbacher padding oracle mitigation provided by the underlying cryptography library by raising a distinct exception on invalid padding, creating a reliable exception oracle. This vulnerability is active by default in all Authlib installations without special configuration. The vulnerability was confirmed on Authlib 1.6.8 with cryptography 46.0.5. A fix is available.
AI Analysis
Technical Summary
Authlib's JWE RSA1_5 implementation improperly handles PKCS#1 v1.5 padding errors by raising a distinct ValueError exception when the decrypted content encryption key (CEK) length is invalid. The underlying cryptography library correctly mitigates Bleichenbacher attacks by returning randomized bytes on invalid padding without raising exceptions. Authlib's length check breaks this mitigation by triggering a distinct exception before AES-GCM tag validation, creating an exception oracle with two distinguishable error paths: one for invalid padding and one for valid padding but invalid MAC. This oracle is exploitable in default configurations of popular Python web frameworks (Flask, Django, FastAPI) due to distinguishable HTTP responses. The root cause is the explicit length check and exception raise in Authlib's unwrap method. Removing this exception and silently handling the random CEK bytes eliminates the oracle. The vulnerability affects Authlib versions >=0.40 and <1.17.0 and was empirically confirmed on Authlib 1.6.8 and cryptography 46.0.5.
Potential Impact
The vulnerability allows an attacker to distinguish between invalid padding and invalid MAC errors via exception differences, creating a Bleichenbacher padding oracle. This can potentially be exploited to decrypt RSA-encrypted content encryption keys in JWE tokens, undermining the confidentiality of encrypted data. The issue is present by default in Authlib installations and can be exploited without special configuration due to default behavior in common Python web frameworks that expose distinguishable error responses.
Mitigation Recommendations
A patch is available for this vulnerability. Users should upgrade Authlib to version 1.17.0 or later where the exception oracle is eliminated by removing the explicit CEK length check and exception raise. Until patched, the vulnerability remains active by default. No additional mitigations are noted in the vendor advisory. Users should apply the official fix to prevent exploitation.
Kimi cli: Authlib Vulnerable to JWE RSA1_5 Bleichenbacher Padding Oracle (CVE-2026-28490)
Description
A cryptographic padding oracle vulnerability (CVE-2026-28490) exists in the Authlib Python library's implementation of the JSON Web Encryption (JWE) RSA1_5 key management algorithm. Authlib disables the Bleichenbacher padding oracle mitigation provided by the underlying cryptography library by raising a distinct exception on invalid padding, creating a reliable exception oracle. This vulnerability is active by default in all Authlib installations without special configuration. The vulnerability was confirmed on Authlib 1.6.8 with cryptography 46.0.5. A fix is available.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Authlib's JWE RSA1_5 implementation improperly handles PKCS#1 v1.5 padding errors by raising a distinct ValueError exception when the decrypted content encryption key (CEK) length is invalid. The underlying cryptography library correctly mitigates Bleichenbacher attacks by returning randomized bytes on invalid padding without raising exceptions. Authlib's length check breaks this mitigation by triggering a distinct exception before AES-GCM tag validation, creating an exception oracle with two distinguishable error paths: one for invalid padding and one for valid padding but invalid MAC. This oracle is exploitable in default configurations of popular Python web frameworks (Flask, Django, FastAPI) due to distinguishable HTTP responses. The root cause is the explicit length check and exception raise in Authlib's unwrap method. Removing this exception and silently handling the random CEK bytes eliminates the oracle. The vulnerability affects Authlib versions >=0.40 and <1.17.0 and was empirically confirmed on Authlib 1.6.8 and cryptography 46.0.5.
Potential Impact
The vulnerability allows an attacker to distinguish between invalid padding and invalid MAC errors via exception differences, creating a Bleichenbacher padding oracle. This can potentially be exploited to decrypt RSA-encrypted content encryption keys in JWE tokens, undermining the confidentiality of encrypted data. The issue is present by default in Authlib installations and can be exploited without special configuration due to default behavior in common Python web frameworks that expose distinguishable error responses.
Mitigation Recommendations
A patch is available for this vulnerability. Users should upgrade Authlib to version 1.17.0 or later where the exception oracle is eliminated by removing the explicit CEK length check and exception raise. Until patched, the vulnerability remains active by default. No additional mitigations are noted in the vendor advisory. Users should apply the official fix to prevent exploitation.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- BREW-kimi-cli-CVE-2026-28490
- Osv Schema Version
- 1.7.3
- Ecosystems
- ["Homebrew"]
- Cvss Version
- 4.0
Threat ID: 6aac8e0b55bf5e2cf54903da
Added to database: 09/18/2026, 01:04:11 UTC
Last enriched: 09/18/2026, 01:56:19 UTC
Last updated: 09/18/2026, 01:56:19 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.