CVE-2026-28498: Authlib Critical Fail-Open Vulnerability in OIDC Hash Binding
Summary
CVE-2026-28498: Authlib: Fail-Open Cryptographic Verification in OIDC Hash Binding. Affects authlib versions < 1.6.9. Fixed in 1.6.9. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Authlib is a popular Python library designed for building OAuth and OpenID Connect clients and servers. It provides a comprehensive set of tools for handling authentication and authorization flows, making it easier for developers to integrate secure user authentication into their applications. However, a critical vulnerability has been identified in its handling of OpenID Connect ID Tokens, specifically in the validation of hash claims, which can lead to serious security issues.
Vulnerability Detail
The vulnerability in Authlib arises from a fail-open behavior in the internal hash verification logic used to validate the 'at_hash' and 'c_hash' claims of OpenID Connect ID Tokens. When an unsupported cryptographic algorithm is encountered, the verification function incorrectly returns 'True', allowing attackers to bypass integrity checks. This flaw can lead to Token Substitution Attacks, where an attacker can substitute a valid access token or authorization code with a malicious one without detection. The root cause lies in the '_verify_hash' function, which fails to enforce a fail-closed state when an unsupported algorithm is specified, violating core cryptographic principles and OpenID Connect specifications.
How To Fix
Latest published version: 1.9.1 as of 23 Oct 2026
pip install --upgrade "authlib==1.9.1"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
1.6.9
This is the first release that contains the fix.
pip install --upgrade "authlib==1.6.9"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
If immediate patching is not possible, consider implementing a manual check for supported algorithms before calling the verification function. This can be done by modifying the verification logic to explicitly reject unsupported algorithms, ensuring that your application does not accept tokens with unknown algorithms.
Conclusion
The Authlib vulnerability CVE-2026-28498 poses a significant risk to applications utilizing OpenID Connect. It is crucial for developers to update to the patched version to ensure the integrity of their authentication processes. Implementing additional checks can provide a temporary safeguard while transitioning to the updated library.
See every vulnerability recorded for authlib →
FAQ
CVE-2026-28498 is a critical vulnerability in the Authlib Python library that allows attackers to bypass integrity checks on OpenID Connect ID Tokens due to a fail-open behavior in the hash verification logic.
If your application uses Authlib for OpenID Connect authentication, it may be vulnerable to Token Substitution Attacks, allowing attackers to substitute valid tokens with malicious ones without detection.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
Update your Authlib package to version 1.6.9 or later using 'pip install --upgrade authlib'. Additionally, consider implementing manual checks for supported algorithms as a temporary workaround.
The CVSS score of this vulnerability is 8.2, indicating a high severity level that requires immediate attention.
References
Related vulnerabilities
Recent vulnerabilities recorded for authlib.