Vulnerability in authlib (CVE-2026-28490)
Summary
Vulnerability in authlib (CVE-2026-28490). Risk of unauthorized operations or information disclosure. Exploitable via RSA1_5. Mitigation: upgrade to 1.6.9 or later.
Original description
The description as published by the source.
1. Executive Summary
A cryptographic padding oracle vulnerability was identified in the Authlib Python library
concerning the implementation of the JSON Web Encryption (JWE) RSA1_5 key management
algorithm. Authlib registers RSA1_5 in its default algorithm registry without requiring
explicit opt-in, and actively destroys the constant-time Bleichenbacher mitigation that
the underlying cryptography library implements correctly.
When cryptography encounters an invalid PKCS#1 v1.5 padding, it returns a randomized
byte string instead of raising an exception — the correct behavior per RFC 3218 §2.3.2.
Authlib ignores this contract and raises ValueError('Invalid "cek" length') immediately
after decryption, before reaching AES-GCM tag validation. This creates a clean, reliable
Exception Oracle:
- Invalid padding →
cryptographyreturns random bytes → Authlib length check fails
→ValueError: Invalid "cek" length - Valid padding, wrong MAC → decryption succeeds → length check passes → AES-GCM
fails →InvalidTag
This oracle is active by default in every Authlib installation without any special
configuration by the developer or the attacker. The three most widely used Python web
frameworks — Flask, Django, and FastAPI — all expose distinguishable HTTP responses for
these two exception classes in their default configurations, requiring no additional
setup to exploit.
Empirically confirmed on authlib 1.6.8 + cryptography 46.0.5:
[PADDING I…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-28490 has been found in authlib.
Attackers can target a specific entry point like RSA1_5 over the network to misuse the product.
Risk of unauthorized operations or information disclosure.
What to do: upgrade authlib to 1.6.9 or later.
If unsure, ask your IT team or search "authlib CVE-2026-28490" on the vendor's site.
CVE-2026-28490 (authlib) — CWE-203
Attack surface: RSA1_5 / cryptography / InvalidTag / poc_bleichenbacher.py
Patched: 1.6.9 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-203) exists in authlib. Attackers reach the vulnerable code path via RSA1_5.
Check the vendor advisory for the affected versions of authlib. Attack surface: RSA1_5 / cryptography / InvalidTag / poc_bleichenbacher.py.
Severity: ?. Risk of unauthorized operations or information disclosure.
Update to 1.6.9.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'authlib' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'authlib' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
authlibを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade authlib to 1.6.9ステージング環境で 1.6.9 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2026-28490 python-authlib Fixed in: 0.15.4-1+deb11u2
- Ubuntu UBUNTU-CVE-2026-28490 python-authlib Fixed in: 0.15.5-1ubuntu0.1~esm2
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com