pre-verification payload parse (PyJWKClient.get_signing_key_from_jwt / · PyJWT: Unauthenticated RecursionError DoS
Affects hermes-agentSource GCVE Database
Not known to be exploited · CVSS 5.3 Medium : upgrade to 0.22.4 when convenient.
Data as of 27 Oct 2026, 21:01 UTC
- Patch
- Available – fixed in 0.22.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LExploitation evidence
Disclosed: evidence found.
CVE published 28 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: 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 26 Oct 2026.
What to do
Upgrade hermes-agent to 0.22.4.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Homebrewhermes-agentpkg:brew/hermes-agentOther 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 patch is available in PyJWT version 0.22.4 that fixes this issue by catching RecursionError during JSON parsing of JWT payloads and JWKS responses. Users should upgrade to version 0.22.4 or later. No additional mitigation is required as the fix addresses the root cause. If upgrading is not immediately possible, consider rejecting tokens with unusually large or deeply nested payloads as a temporary measure.
Description
PyJWT versions before 0.22.4 contain a vulnerability where deeply nested JSON payloads in JWT tokens cause an unhandled RecursionError during parsing. This error occurs before signature verification, allowing unauthenticated attackers to cause denial-of-service by crashing the authentication handler. A similar issue affects JWKS endpoint response parsing. The flaw was fixed in version 0.22.4 by extending exception handling to include RecursionError.
References
- github.com/jpadilla/pyjwt/security/advisories/GHSA-42vr-xj54-vc7v (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-101918 (opens in a new tab)
- github.com/jpadilla/pyjwt/commit/5fde08a6cf906aa7698de2d6391d88b73006b17b (opens in a new tab)
- github.com/jpadilla/pyjwt (opens in a new tab)
- github.com/jpadilla/pyjwt/releases/tag/2.15.0 (opens in a new tab)