CVE-2024-37568
Authlib has algorithm confusion with asymmetric public keys
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
CVE-2024-37568- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347, CWE-284
- Updated
- 2026-11-02
CVE List
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
CVE-2024-37568- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-284
- Updated
- 2026-11-02
EUVDEUVD-2024-0018
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
EUVD-2024-0018- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-5357-c2jx-v7qh
7.4
Authlib has algorithm confusion with asymmetric public keys
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
GHSA-5357-c2jx-v7qh- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-284, CWE-327, CWE-347
- Updated
- 2026-11-02
OSV
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
CVE-2024-37568- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-37568
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
DEBIAN-CVE-2024-37568- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
Show 9 moreShow less
OSVGHSA-5357-c2jx-v7qh
7.4
Authlib has algorithm confusion with asymmetric public keys
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
GHSA-5357-c2jx-v7qh- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Weakness
- CWE-284, CWE-327, CWE-347
- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2024-37568
7.4
CVE-2024-37568 in rootio-Authlib - Patched by Root
Root has patched CVE-2024-37568 in the rootio-Authlib package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2024-37568- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-37568
7.5
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
UBUNTU-CVE-2024-37568- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVMGASA-2024-0238 No score
Updated python-authlib packages fix security vulnerability
Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
MGASA-2024-0238- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14035-1 No score
python310-Authlib-1.3.1-1.1 on GA media
These are all security issues fixed in the python310-Authlib-1.3.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14035-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11614-1 No score
python313-Authlib-1.7.2-3.1 on GA media
These are all security issues fixed in the python313-Authlib-1.7.2-3.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11614-1- Updated
- 2026-11-02
OSVPYSEC-2024-52 No score
lepture Authlib before 1.3.1 has algorithm confusion with asymmetric public keys. Unless an algorithm is specified in a jwt.decode call, HMAC verification is allowed with any asymmetric public key. (This is similar to CVE-2022-29217 and CVE-2024-33663.)
- Record
PYSEC-2024-52- Updated
- 2026-11-02
OSVSUSE-SU-2024:2064-1 No score
Security update for python-Authlib
This update for python-Authlib fixes the following issues:
- Update to version 1.3.1
- CVE-2024-37568: Fixed algorithm confusion with asymmetric public keys. (bsc#1226138)
- Record
SUSE-SU-2024:2064-1- Updated
- 2026-11-02
OSVUSN-8065-1 No score
python-authlib vulnerabilities
Millie Solem discovered that Authlib did not properly restrict algorithm selection during JWT verification, allowing HMAC verification with asymmetric public keys when no algorithm was specified. A remote attacker could possibly use this issue to bypass signature verification and forge tokens, resulting in authentication bypass or privilege escalation. (CVE-2024-37568)
Muhammad Noman Ilyas discovered that Authlib did not properly enforce critical header parameter handling during JSON Web Signature verification, leading to unknown critical parameters being incorrectly accepted. A remote attacker could possibly use this issue to bypass security policies in mixed deployments, resulting in authentication bypass, replay attacks, or privilege escalation. (CVE-2025-59420)
Muhammad Noman Ilyas discovered that Authlib did not properly limit the size of JSON Web Signature or JSON Web Token header and signature segments. A remote attacker could possibly use this issue to cause excessive memory or processor consumption, leading to a denial of service. (CVE-2025-61920)
Muhammad Noman Ilyas discovered that Authlib performed unbounded decompression when processing certain compressed encrypted tokens. A remote attacker could possibly use this issue to send a specially crafted token that can be expanded to a large size during decompression, causing a denial of service. (CVE-2025-62706)
It was discovered that Authlib did not properly bind cached state information to the initiating user session during OAuth authentication flows. A remote attacker could possibly use this issue to perform cross- site request forgery attacks, resulting in unauthorized actions or authentication bypass. This issue only affected Ubuntu 24.04 LTS. (CVE-2025-68158)
- Record
USN-8065-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
authlibPyPI |
before 1.3.1 | 1.3.1 |
python-authlibDebian:12 |
before 1.2.0-1+deb12u1, plus listed versions 1.2.0-1 |
1.2.0-1+deb12u1 |
python-authlibDebian:13 |
before 1.3.1-1 | 1.3.1-1 |
python-authlibDebian:14 |
before 1.3.1-1 | 1.3.1-1 |
python-authlibDebian:11 From an advisory covering 4 CVEs |
before 0.15.4-1+deb11u1, plus listed versions 0.15.4-1 |
0.15.4-1+deb11u1 |
authlibPyPI |
before 1.3.1, plus listed versions 0.10.100.110.120.12.1 Show 35 moreShow less0.130.140.14.10.14.20.14.30.150.15.10.15.20.15.30.15.40.15.50.15.60.1rc00.20.2.10.30.40.4.10.50.5.10.60.70.80.91.0.01.0.0a11.0.0a21.0.0b11.0.0b21.0.0rc11.0.11.1.01.2.01.2.11.3.0 |
1.3.1 |
python-authlibMageia:9 |
before 1.3.1-1.mga9 | 1.3.1-1.mga9 |
rootio-AuthlibRoot:PyPI |
before 0.15.5+root.io.1 | 0.15.5+root.io.10.15.5+root.io.30.15.5+root.io.40.15.5+root.io.50.15.5+root.io.60.15.5+root.io.70.15.5+root.io.80.15.5+root.io.9 |
AuthlibRoot:PyPI |
before 0.15.5+aikido.9 | 0.15.5+aikido.9 |
python-AuthlibSUSE:Linux Enterprise Module for Python 3 15 SP6 |
before 1.3.1-150600.3.3.1 | 1.3.1-150600.3.3.1 |
Show 10 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-AuthlibopenSUSE:Leap 15.6 |
before 1.3.1-150600.3.3.1 | 1.3.1-150600.3.3.1 |
python-authlibUbuntu:Pro:22.04:LTS |
before 0.15.5-1ubuntu0.1~esm1, plus listed versions 0.15.4-10.15.5-1 |
0.15.5-1ubuntu0.1~esm1 |
python-authlibUbuntu:Pro:24.04:LTS |
before 1.3.0-1ubuntu0.1~esm1, plus listed versions 1.2.1-11.3.0-1 |
1.3.0-1ubuntu0.1~esm1 |
python-authlibUbuntu:25.10 |
All versions, plus listed versions 1.5.1-11.5.2-11.6.0-1 |
None known |
python-authlibUbuntu:26.10 |
All versions, plus listed versions 1.6.7-11.7.2-11.7.2-2 |
None known |
python-authlibUbuntu:Pro:26.04:LTS |
All versions, plus listed versions 1.6.0-11.6.5-11.6.6-11.6.7-11.6.7-1ubuntu0.1~esm1 |
None known |
python-authlibUbuntu:Pro:22.04:LTS From an advisory covering 5 CVEs |
before 0.15.5-1ubuntu0.1~esm1, plus listed versions 0.15.4-10.15.5-1 |
0.15.5-1ubuntu0.1~esm1 |
python-authlibUbuntu:Pro:24.04:LTS From an advisory covering 5 CVEs |
before 1.3.0-1ubuntu0.1~esm1, plus listed versions 1.2.1-11.3.0-1 |
1.3.0-1ubuntu0.1~esm1 |
python-AuthlibopenSUSE:Tumbleweed |
before 1.3.1-1.1 | 1.3.1-1.1 |
python-AuthlibopenSUSE:Tumbleweed |
before 1.7.2-3.1 | 1.7.2-3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-37568 is a high vulnerability (CVSS 7.5) in Authlib, published June 9, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.39%, the 33rd percentile. Fixed in authlib 1.3.1.
References
github.com/lepture/authlib/issues/654
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IZI7HYGN7VZAYFV6UV3SRLYF7QGERXIU
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FHJI32SN4FNAUVNALVGOKWHNSQ6XS3M5
vicarius.io/vsociety/posts/algorithm-confusion-in-lepture-authlib-cve-2024-37568
lists.debian.org/debian-lts-announce/2025/10/msg00032.html
nvd.nist.gov/vuln/detail/CVE-2024-37568
Show 19 moreShow less
github.com/pypa/advisory-database/tree/main/vulns/authlib/PYSEC-2024-52.yaml
github.com/advisories/GHSA-5357-c2jx-v7qh
github.com/CVEProject/cvelistV5/tree/main/cves/2024/37xxx/CVE-2024-37568.json
security-tracker.debian.org/tracker/CVE-2024-37568
github.com/lepture/authlib
advisories.mageia.org/MGASA-2024-0238.html
bugs.mageia.org/show_bug.cgi?id=33315
lists.suse.com/pipermail/sle-updates/2024-June/035616.html
suse.com/support/update/announcement/2024/suse-su-20242064-1
bugzilla.suse.com/1226138
suse.com/security/cve/CVE-2024-37568
ubuntu.com/security/CVE-2024-37568
cve.org/CVERecord?id=CVE-2024-37568
github.com/lepture/authlib/commit/3bea812acefebc9ee108aa24557be3ba8971daf1
ubuntu.com/security/notices/USN-8065-1
ubuntu.com/security/CVE-2025-59420
ubuntu.com/security/CVE-2025-61920
ubuntu.com/security/CVE-2025-62706
ubuntu.com/security/CVE-2025-68158