{"id":"CVE-2026-4258","state":"PUBLISHED","title":"Versions of the package sjcl before 1.0.9 are vulnerable to Improper Verification of Cryptographic Signature due to missing point-on-curve validation in sjcl.ecc.basicKey.publicKey","description":"Versions of the package sjcl before 1.0.9 are vulnerable to Improper Verification of Cryptographic Signature due to missing point-on-curve validation in sjcl.ecc.basicKey.publicKey(). An attacker can recover a victim's ECDH private key by sending crafted off-curve public keys and observing ECDH outputs. The dhJavaEc() function directly returns the raw x-coordinate of the scalar multiplication result (no hashing), providing a plaintext oracle without requiring any decryption feedback.","publishedAt":"2026-03-17T05:00:04.199Z","updatedAt":"2026-08-07T15:25:31.786Z","severity":{"score":8.7,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P","source":"snyk"},"assigner":"snyk","products":["n/a sjcl","n/a org.webjars.npm:sjcl"],"affected":[{"vendor":"n/a","product":"sjcl","versions":[{"version":"0","status":"affected","lessThan":"1.0.9","versionType":"semver"}]},{"vendor":"n/a","product":"org.webjars.npm:sjcl","versions":[{"version":"0","status":"affected","lessThan":"*","versionType":"semver"}]}],"references":["https://security.snyk.io/vuln/SNYK-JS-SJCL-15369617","https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15751243","https://gist.github.com/Kr0emer/2560f98edb10b0b34f2438cd63913c47","https://github.com/bitwiseshiftleft/sjcl/blob/master/core/ecc.js%23L454-L461","https://github.com/bitwiseshiftleft/sjcl/commit/ee307459972442a17beebc29dc331fffd8aff796"],"weaknesses":["CWE-347","CWE-325"],"ingestedAt":"2026-10-29T20:12:16.098Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/4xxx/CVE-2026-4258.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-4258","state":"PUBLISHED","datePublished":"2026-03-17T05:00:04.199Z","dateUpdated":"2026-08-07T15:25:31.786Z","assignerShortName":"snyk","assignerOrgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730","dateReserved":"2026-03-16T10:00:53.239Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"Versions of the package sjcl before 1.0.9 are vulnerable to Improper Verification of Cryptographic Signature due to missing point-on-curve validation in sjcl.ecc.basicKey.publicKey(). An attacker can recover a victim's ECDH private key by sending crafted off-curve public keys and observing ECDH outputs. The dhJavaEc() function directly returns the raw x-coordinate of the scalar multiplication result (no hashing), providing a plaintext oracle without requiring any decryption feedback."}],"affected":[{"vendor":"n/a","product":"sjcl","versions":[{"version":"0","status":"affected","lessThan":"1.0.9","versionType":"semver"}]},{"vendor":"n/a","product":"org.webjars.npm:sjcl","versions":[{"version":"0","status":"affected","lessThan":"*","versionType":"semver"}]}],"references":[{"url":"https://security.snyk.io/vuln/SNYK-JS-SJCL-15369617"},{"url":"https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15751243"},{"url":"https://gist.github.com/Kr0emer/2560f98edb10b0b34f2438cd63913c47"},{"url":"https://github.com/bitwiseshiftleft/sjcl/blob/master/core/ecc.js%23L454-L461"},{"url":"https://github.com/bitwiseshiftleft/sjcl/commit/ee307459972442a17beebc29dc331fffd8aff796"}],"metrics":[{"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"LOW","exploitCodeMaturity":"PROOF_OF_CONCEPT","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N/E:P"},"cvssV4_0":{"version":"4.0","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","exploitMaturity":"PROOF_OF_CONCEPT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.7,"baseSeverity":"HIGH","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-347","description":"Improper Verification of Cryptographic Signature","lang":"en"}]}],"providerMetadata":{"shortName":"snyk","orgId":"bae035ff-b466-4ff4-94d0-fc9efd9e1730","dateUpdated":"2026-08-07T15:25:31.786Z"},"credits":[{"value":"Kr0emer","lang":"en"}]},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://gist.github.com/Kr0emer/2560f98edb10b0b34f2438cd63913c47","tags":["exploit"]},{"url":"https://security.snyk.io/vuln/SNYK-JS-SJCL-15369617","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-03-17T13:22:02.709429Z","id":"CVE-2026-4258","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-325","type":"CWE","lang":"en","description":"CWE-325 Missing Cryptographic Step"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-03-17T13:22:11.049Z"}}]}}}