REDHAT-BUG-2448164: High severity pypi/authlib vulnerability
Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.9, a JWK Header Injection vulnerability in authlib's JWS implementation allows an unauthenticated attacker to forge arbitrary JWT tokens that pass signature verification. When key=None is passed to any JWS deserialization function, the library extracts and uses the cryptographic key embedded in the attacker-controlled JWT jwk header field. An attacker can sign a token with their own private key, embed the matching public key in the header, and have the server accept the forged token as cryptographically valid — bypassing authentication and authorization entirely. This issue has been patched in version 1.6.9.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
authlibto a version that resolves this vulnerability.Fixed in 1.6.9 - Configuration
Update usage so that JWS deserialization functions do not receive key=None; provide the expected trusted verification key instead, since when key=None is passed authlib extracts and uses the cryptographic key from the attacker-controlled JWT JWK header.
Authlib JWS deserialization key=None passed to JWS deserialization function = Do not pass key=None
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2448164?
The severity of REDHAT-BUG-2448164 is rated as high, with a score of 7.
How do I fix REDHAT-BUG-2448164?
To fix REDHAT-BUG-2448164, upgrade Authlib to version 1.6.9 or later.
What is affected by REDHAT-BUG-2448164?
REDHAT-BUG-2448164 specifically affects the Authlib Python library used for OAuth and OpenID Connect servers.
What impact does REDHAT-BUG-2448164 have on security?
The impact of REDHAT-BUG-2448164 allows an unauthenticated attacker to forge arbitrary JWT tokens that can pass signature verification.
Is there a workaround for REDHAT-BUG-2448164?
There is no official workaround for REDHAT-BUG-2448164 other than upgrading to the patched version.