{"schema_version":"1","view":"events","data":[{"id":3459,"advisory_id":"10e89302-a3bc-45e3-88a9-5fefbc8da05b","group_id":"advisory:10e89302-a3bc-45e3-88a9-5fefbc8da05b","revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102275","source_published_at":"2026-09-28T20:46:33.169+00:00","published_at":"2026-10-24T21:35:47.710459+00:00","extraction_method":"structured","technologies":["core-cve","pyjwt"],"cve_ids":["CVE-2026-102275"],"event_types":["advisory"],"payload":{"kind":"advisory","title":"PyJWT accepts inconsistent OKP x/d JWKs, causing public/private key identity confusion","summary":"PyJWT is a Python implementation of JSON Web Token standards. From 2.1.0 until 2.15.0, PyJWT OKPAlgorithm.from_jwk in jwt/algorithms.py is affected because private-JWK import path does not compare the public key derived from d with x. This occurs when an OKP private JWK supplies non-corresponding x and d components. As a result, identity derived from x can differ from operations performed with d. Consequently, if an integration also accepts private key parameters from a proof header without rejecting them, an attacker may use a stolen sender-constrained token without the legitimate private key. This issue is fixed in version 2.15.0.","evidence":"cve:CVE-2026-102275","products":[{"name":{"value":"pyjwt","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"medium","structured":{"id":"CVE-2026-102275","aliases":["CVE-2026-102275"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":6.5,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}}],"affected":[{"vendor":"jpadilla","product":"pyjwt","versions":[{"status":"affected","version":">= 2.1.0, < 2.15.0"}]}],"modified":"2026-09-29T13:56:09.869Z","provider":"cve","references":["https://github.com/jpadilla/pyjwt/security/advisories/GHSA-x33g-cr3x-6449","https://github.com/jpadilla/pyjwt/commit/3cd9ceec33ced359decbad75b413ad668ae6332c","https://github.com/jpadilla/pyjwt/releases/tag/2.15.0"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102275","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-29T13:56:03.446684Z"}}}],"references":[{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-x33g-cr3x-6449","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T13:56:09.869Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-28T20:46:33.169Z"}}},"related_cves":[{"value":"CVE-2026-102275","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"priority":{"reasons":[],"severity":"medium","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"medium"},"context_update":false,"detail_url":"/events/3459"}],"next_after":3459,"next_before":3459}