CVE-2026-4258: sjcl is missing point-on-curve validation in sjcl.ecc.basicKey.publicKey
(updated )
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.
References
- gist.github.com/Kr0emer/2560f98edb10b0b34f2438cd63913c47
- github.com/advisories/GHSA-2w8x-224x-785m
- github.com/bitwiseshiftleft/sjcl
- github.com/bitwiseshiftleft/sjcl/blob/master/core/ecc.js
- github.com/bitwiseshiftleft/sjcl/commit/ee307459972442a17beebc29dc331fffd8aff796
- nvd.nist.gov/vuln/detail/CVE-2026-4258
- security.snyk.io/vuln/SNYK-JS-SJCL-15369617
Code Behaviors & Features
Detect and mitigate CVE-2026-4258 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →