CVE-2026-28498: Authlib Critical Fail-Open Vulnerability in OIDC Hash Binding

authlib Updated 16 Mar 2026

Summary

16/03/2026
Yes i
High
8.2

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 ↓

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

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 →

Share this vulnerability

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.

Related vulnerabilities

Recent vulnerabilities recorded for authlib.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

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 →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback