{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-120459","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","state":"PUBLISHED","assignerShortName":"VulnCheck","dateReserved":"2026-11-02T12:42:23.406Z","datePublished":"2026-11-02T14:29:15.767Z","dateUpdated":"2026-11-02T14:29:15.767Z"},"containers":{"cna":{"providerMetadata":{"orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","shortName":"VulnCheck","dateUpdated":"2026-11-02T14:29:15.767Z"},"datePublic":"2026-03-08T00:00:00.000Z","title":"python-jose through 3.5.0 Authentication Bypass via Empty HMAC Key","descriptions":[{"lang":"en","value":"python-jose through 3.5.0 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge JWTs because HMACKey and CryptographyHMACKey accept zero-length HMAC secrets. When an application's HS256/HS384/HS512 verification key resolves to empty, such as an oct JWK with empty k, attackers can forge tokens with arbitrary claims that jwt.decode accepts."}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Improper Verification of Cryptographic Signature","cweId":"CWE-347","type":"CWE"}]}],"affected":[{"vendor":"mpdavis","product":"python-jose","defaultStatus":"unaffected","versions":[{"version":"0","lessThanOrEqual":"3.5.0","status":"affected","versionType":"semver"}],"packageURL":"pkg:pypi/python-jose","repo":"https://github.com/mpdavis/python-jose"}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:python-jose_project:python-jose:*:*:*:*:*:*:*:*","versionEndIncluding":"3.5.0"}]}]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":9.1,"baseSeverity":"CRITICAL"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":7.4,"baseSeverity":"HIGH"}}],"references":[{"url":"https://github.com/mpdavis/python-jose/issues/398","tags":["issue-tracking"]},{"url":"https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/native.py","tags":["technical-description"]},{"url":"https://github.com/mpdavis/python-jose/blob/3.5.0/jose/backends/cryptography_backend.py","tags":["technical-description"]},{"name":"VulnCheck Advisory: python-jose through 3.5.0 Authentication Bypass via Empty HMAC Key","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/python-jose-through-3.5.0-authentication-bypass-via-empty-hmac-key"}],"credits":[{"lang":"en","value":"Gavin Blacklock","type":"finder"},{"lang":"en","value":"Conner Webber","type":"finder"}],"x_generator":{"engine":"vulncheck-endgame"}}}}