{"id":"CVE-2026-102275","url":"https://www.cyber-defence.io/tools/cve/CVE-2026-102275","generatedAt":"2026-10-28T01:02:08.714Z","title":"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.","description":"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.","published":"2026-09-28T21:17:16.000Z","lastModified":"2026-10-06T18:17:51.000Z","status":"Analyzed","sourceIdentifier":"security-advisories@github.com","cvss":{"version":"3.1","score":8.2,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N"},"cwe":["CWE-345","CWE-348"],"affected":["pyjwt project/pyjwt"],"epss":{"score":0.00167,"percentile":0.05885,"date":"2026-10-26","history":[{"date":"2026-09-29","score":0.00137,"percentile":0.02565}]},"kev":{"listed":false},"exploits":{"count":0,"verified":false,"firstPublished":null,"source":"Exploit-DB (https://gitlab.com/exploit-database/exploitdb)","entries":[]},"verdict":{"level":"high","text":"High impact if exploited, but EPSS currently rates exploitation as unlikely (0.17%). Schedule it in the normal patch cycle and watch for a rise in EPSS or a public exploit."},"changes":[{"kind":"scored","label":"Newly scored","at":"2026-10-06T19:30:04.000Z","detail":{"from":"6.5","score":"8.2","severity":"HIGH","fromSeverity":"MEDIUM"},"summary":"Now scored CVSS 8.2 HIGH (was 6.5)."},{"kind":"new","label":"New CVE","at":"2026-09-28T21:17:16.000Z","detail":{"score":"6.5","severity":"MEDIUM","publishedAt":"2026-09-28T21:17:15.857Z"},"summary":"New CVE, high severity (CVSS 8.2)."}],"references":[{"url":"https://github.com/jpadilla/pyjwt/commit/3cd9ceec33ced359decbad75b413ad668ae6332c","tags":["Patch"],"source":"security-advisories@github.com"},{"url":"https://github.com/jpadilla/pyjwt/releases/tag/2.15.0","tags":["Product","Release Notes"],"source":"security-advisories@github.com"},{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-x33g-cr3x-6449","tags":["Exploit","Vendor Advisory"],"source":"security-advisories@github.com"},{"url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-x33g-cr3x-6449","tags":["Exploit","Vendor Advisory"],"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"sources":{"nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-102275","epss":"https://www.first.org/epss/","kev":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","exploitdb":"https://www.exploit-db.com/"},"licence":"CC BY 4.0 — link back to the CVE Explorer if you publish the results; upstream data remains subject to its own terms."}