{"id":"GHSA-2w8x-224x-785m","summary":"sjcl is missing point-on-curve validation in sjcl.ecc.basicKey.publicKey","details":"All versions of the package sjcl 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.","aliases":["CVE-2026-4258"],"modified":"2026-03-25T14:46:29.609642Z","published":"2026-03-17T06:31:32Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2026-03-18T16:10:06Z","nvd_published_at":"2026-03-17T06:16:18Z","cwe_ids":["CWE-325","CWE-347"],"severity":"HIGH"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-4258"},{"type":"WEB","url":"https://github.com/bitwiseshiftleft/sjcl/commit/ee307459972442a17beebc29dc331fffd8aff796"},{"type":"WEB","url":"https://gist.github.com/Kr0emer/2560f98edb10b0b34f2438cd63913c47"},{"type":"PACKAGE","url":"https://github.com/bitwiseshiftleft/sjcl"},{"type":"WEB","url":"https://github.com/bitwiseshiftleft/sjcl/blob/master/core/ecc.js#L454-L461"},{"type":"WEB","url":"https://security.snyk.io/vuln/SNYK-JS-SJCL-15369617"}],"affected":[{"package":{"name":"sjcl","ecosystem":"npm","purl":"pkg:npm/sjcl"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.9"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.0.8","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-2w8x-224x-785m/GHSA-2w8x-224x-785m.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"},{"type":"CVSS_V4","score":"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"}]}