CVE-2026-49852: joserfc · HS256/HS384/HS512 verify accepts empty/nil HMAC key (cross-language sibling of CVE-2026-45363)
Affects mcpmSource GCVE Database
Mentioned vulnerabilities
Not known to be exploited · CVSS 8.7 High : upgrade to 2.15.0_1 soon.
Data as of 30 Oct 2026, 07:00 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 6% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2.15.0_1
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 13 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Upgrade mcpm to 2.15.0_1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewmcpmpkg:brew/mcpmOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fixed version of joserfc is available in 2.15.0_1, which rejects empty HMAC keys during signing and verification. Users should upgrade to this version or later. Until then, ensure that the JWT secret key is never empty or None by validating configuration sources such as environment variables, database entries, or key finder functions. Avoid defaulting to empty strings for missing keys. No other mitigations are indicated by the vendor advisory.
Description
The joserfc library versions up to 1.6.7 accept attacker-forged HMAC-signed JWT tokens when the verification key is empty or None. This occurs because the library does not reject zero-length HMAC keys, allowing an attacker to forge tokens without secret knowledge if the configured secret is empty or unset. This vulnerability is a cross-language sibling of CVE-2026-45363 affecting ruby-jwt. No patched release existed at the time of this report, but a fix is available in version 2.15.0_1. The vulnerability requires no authentication and can be triggered if the JWT secret is sourced from an unset environment variable, missing database entry, or similar misconfiguration.
References
- github.com/authlib/joserfc/security/advisories/GHSA-gg9x-qcx2-xmrh (opens in a new tab)
- github.com/authlib/joserfc/commit/86d00910b2b2d2d07503fee9b572906daefab7f1 (opens in a new tab)
- github.com/authlib/joserfc (opens in a new tab)
- github.com/authlib/joserfc/blob/1ddca8f3c73ff47e3bc3ac06cb0c08a9535677ec/src/joserfc/_rfc7518/jws_algs.py (opens in a new tab)