Vulnerability · Published Jul 17, 2026 · Assigned by GitHub_M
CVE-2026-49852joserfc: HS256/HS384/HS512 verify accepts empty/nil HMAC key (cross-language sibling of CVE-2026-45363)
High 8.7
In plain English
A high-severity improper authentication in joserfc from authlib. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 7% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. Prior to 1.6.8, joserfc.jwt.decode accepts attacker-forged HMAC-signed tokens when the caller-supplied verification key is the empty string or None, because HMACAlgorithm.sign and HMACAlgorithm.verify in src/joserfc/_rfc7518/jws_algs.py pass the output of OctKey.get_op_key(...) to hmac.new(...) and OctKey.import_key in src/joserfc/_rfc7518/oct_key.py only emits a SecurityWarning for keys shorter than 14 bytes without rejecting zero-length input. This issue is fixed in version 1.6.8.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:13 | joserfc | no fix listed | DEBIAN-CVE-2026-49852 |
| Debian:14 | joserfc | 1.6.8-1 | DEBIAN-CVE-2026-49852 |
| PyPI | joserfc | 1.6.8 | GHSA-gg9x-qcx2-xmrh |
| PyPI | joserfc | 1.6.8 | PYSEC-2026-2528 |
| Ubuntu:26.04:LTS | joserfc | no fix listed | UBUNTU-CVE-2026-49852 |
Affected products (as reported)
Weakness: CWE-287, CWE-326, CWE-1391 · Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
References
- https://github.com/authlib/joserfc/security/advisories/GHSA-gg9x-qcx2-xmrh x_refsource_CONFIRM
- https://github.com/authlib/joserfc/commit/86d00910b2b2d2d07503fee9b572906daefab7f1 x_refsource_MISC
- https://github.com/authlib/joserfc/releases/tag/1.6.8 x_refsource_MISC