{"schema_version":"2","view":"grouped","data":[{"id":63293,"cve_ids":["CVE-2026-102266"],"payload":{"kind":"advisory","title":"PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation","summary":"PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.","evidence":"cve:CVE-2026-102266","products":[{"name":{"value":"pyjwt","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-102266","aliases":["CVE-2026-102266"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.4,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"jpadilla","product":"pyjwt","versions":[{"status":"affected","version":">= 2.13.0, < 2.14.0"}]}],"modified":"2026-09-29T19:35:42.049Z","provider":"cve","references":["https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","https://github.com/jpadilla/pyjwt/commit/f91ed44dd65baaf457f4b3353ed35e98a753934c","https://github.com/jpadilla/pyjwt/releases/tag/2.14.0"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102266","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-09-29T19:28:36.086597Z"}}}],"references":[{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T19:35:42.049Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-28T20:21:26.164Z"}}},"related_cves":[{"value":"CVE-2026-102266","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:967a6685-8d58-4854-9710-f17e42ed33bd","priority":{"reasons":["publisher_severity","linked_severity"],"severity":"high","linked_cves":[{"cve":"CVE-2026-102266","metrics":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}],"products":[{"name":{"value":"pyjwt","evidence":"/affected/0/package/name"},"prerequisites":[],"fixed_versions":[{"value":"2.14.0","evidence":"/affected/0/ranges"}],"affected_versions":[{"value":"2.13.0","evidence":"/affected/0/versions"}]}],"severity":"high","source_id":"core-osv","source_url":"https://osv.dev/vulnerability/GHSA-9j54-fg26-wv3r","relationship":"advisory","known_exploited":false,"relationship_evidence":"/cveMetadata/cveId"}],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":2,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102266","advisory_id":"967a6685-8d58-4854-9710-f17e42ed33bd","event_types":["advisory"],"published_at":"2026-10-25T19:28:30.884633+00:00","technologies":["core-cve","pyjwt"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-28T20:21:26.164+00:00","detail_url":"/advisories/advisory%3A967a6685-8d58-4854-9710-f17e42ed33bd","group":{"id":"advisory:967a6685-8d58-4854-9710-f17e42ed33bd","revision":1,"primary_event_id":62565,"change":"published","superseded_by":[],"changed":{"id":62565,"cve_ids":["CVE-2026-102266"],"payload":{"kind":"advisory","title":"PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation","summary":"PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.","evidence":"cve:CVE-2026-102266","products":[{"name":{"value":"pyjwt","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-102266","aliases":["CVE-2026-102266"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.4,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"jpadilla","product":"pyjwt","versions":[{"status":"affected","version":">= 2.13.0, < 2.14.0"}]}],"modified":"2026-09-29T19:35:42.049Z","provider":"cve","references":["https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","https://github.com/jpadilla/pyjwt/commit/f91ed44dd65baaf457f4b3353ed35e98a753934c","https://github.com/jpadilla/pyjwt/releases/tag/2.14.0"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102266","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-09-29T19:28:36.086597Z"}}}],"references":[{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T19:35:42.049Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-28T20:21:26.164Z"}}},"related_cves":[{"value":"CVE-2026-102266","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:967a6685-8d58-4854-9710-f17e42ed33bd","priority":{"reasons":["publisher_severity","linked_severity"],"severity":"high","linked_cves":[{"cve":"CVE-2026-102266","metrics":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}],"products":[{"name":{"value":"pyjwt","evidence":"/affected/0/package/name"},"prerequisites":[],"fixed_versions":[{"value":"2.14.0","evidence":"/affected/0/ranges"}],"affected_versions":[{"value":"2.13.0","evidence":"/affected/0/versions"}]}],"severity":"high","source_id":"core-osv","source_url":"https://osv.dev/vulnerability/GHSA-9j54-fg26-wv3r","relationship":"advisory","known_exploited":false,"relationship_evidence":"/cveMetadata/cveId"}],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":2,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102266","advisory_id":"967a6685-8d58-4854-9710-f17e42ed33bd","event_types":["advisory"],"published_at":"2026-10-25T19:28:30.884633+00:00","technologies":["core-cve","pyjwt"],"context_update":true,"extraction_method":"structured","source_published_at":"2026-09-28T20:21:26.164+00:00","detail_url":"/events/62565"},"members":[{"id":62565,"cve_ids":["CVE-2026-102266"],"payload":{"kind":"advisory","title":"PyJWK accepts empty HMAC keys, bypassing PyJWT's empty-key validation","summary":"PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, HMACAlgorithm.from_jwk is affected because PyJWK verification path used the decoded key without applying prepare_key validation. This occurs when a trusted JWK Set contains an oct entry with an empty k value. As a result, an attacker signs an HMAC token with the same zero-length key accepted by PyJWT. Consequently, forged token can carry arbitrary authenticated claims. This issue is fixed in version 2.14.0.","evidence":"cve:CVE-2026-102266","products":[{"name":{"value":"pyjwt","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-102266","aliases":["CVE-2026-102266"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.4,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"jpadilla","product":"pyjwt","versions":[{"status":"affected","version":">= 2.13.0, < 2.14.0"}]}],"modified":"2026-09-29T19:35:42.049Z","provider":"cve","references":["https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","https://github.com/jpadilla/pyjwt/commit/f91ed44dd65baaf457f4b3353ed35e98a753934c","https://github.com/jpadilla/pyjwt/releases/tag/2.14.0"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102266","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-09-29T19:28:36.086597Z"}}}],"references":[{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-9j54-fg26-wv3r","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T19:35:42.049Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-28T20:21:26.164Z"}}},"related_cves":[{"value":"CVE-2026-102266","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:967a6685-8d58-4854-9710-f17e42ed33bd","priority":{"reasons":["publisher_severity","linked_severity"],"severity":"high","linked_cves":[{"cve":"CVE-2026-102266","metrics":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}],"products":[{"name":{"value":"pyjwt","evidence":"/affected/0/package/name"},"prerequisites":[],"fixed_versions":[{"value":"2.14.0","evidence":"/affected/0/ranges"}],"affected_versions":[{"value":"2.13.0","evidence":"/affected/0/versions"}]}],"severity":"high","source_id":"core-osv","source_url":"https://osv.dev/vulnerability/GHSA-9j54-fg26-wv3r","relationship":"advisory","known_exploited":false,"relationship_evidence":"/cveMetadata/cveId"}],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":2,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102266","advisory_id":"967a6685-8d58-4854-9710-f17e42ed33bd","event_types":["advisory"],"published_at":"2026-10-25T19:28:30.884633+00:00","technologies":["core-cve","pyjwt"],"context_update":true,"extraction_method":"structured","source_published_at":"2026-09-28T20:21:26.164+00:00","detail_url":"/events/62565"}]}}],"next_after":63293,"next_before":63293}