Description
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.
Published: 2026-03-17
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Private Key Compromise
Action: Patch Immediately
AI Analysis

Impact

The vulnerability arises from missing point‑on‑curve validation in the function sjcl.ecc.basicKey.publicKey(), as detailed in the CVE description. An attacker can send crafted off‑curve public keys to the library and observe the raw x‑coordinate output of dhJavaEc(). This plaintext oracle permits extraction of a victim’s ECDH private key, thereby compromising the confidentiality of any data protected with that key. The weakness is classified under CWE‑325 (Improper Validation) and CWE‑347 (Invalid Algorithm Parameter).

Affected Systems

All releases of the sjcl JavaScript cryptography library are affected; the CVE description explicitly states "All versions of the package sjcl are vulnerable". Any application that utilizes sjcl’s ECDH functions, especially dhJavaEc(), is subject to this flaw. No vendor‑specific version information beyond the library itself is provided.

Risk and Exploitability

With a CVSS score of 8.7 the vulnerability is high severity, yet the EPSS score of less than 1% indicates a low probability of exploitation in the present threat landscape. The CVE notes that the issue is not listed in CISA’s KEV catalog. The likely attack vector is remote: an adversary who can supply a public key to the library—such as through client‑side or server‑side JavaScript execution—can exploit the missing validation and obtain the private key by observing ECDH outputs; this inference is based on the description of the oracle provided in the CVE.

Generated by OpenCVE AI on March 17, 2026 at 17:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade sjcl to a version that includes point‑on‑curve validation and hashes the ECDH output, as indicated by commit ee307459972442a17beebc29dc331fffd8aff796.
  • If no patched release is available, replace the dhJavaEc() implementation with a custom routine that validates the EC point and hashes the raw output before use.
  • Remove sjcl usage from any critical components until a patched version is deployed or alternative cryptographic libraries are adopted.

Generated by OpenCVE AI on March 17, 2026 at 17:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2w8x-224x-785m sjcl is missing point-on-curve validation in sjcl.ecc.basicKey.publicKey
History

Tue, 17 Mar 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-325
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 17 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Bitwiseshiftleft
Bitwiseshiftleft sjcl
Vendors & Products Bitwiseshiftleft
Bitwiseshiftleft sjcl

Tue, 17 Mar 2026 05:30:00 +0000

Type Values Removed Values Added
Description 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.
Weaknesses CWE-347
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N/E:P'}

cvssV4_0

{'score': 8.7, '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'}


Subscriptions

Bitwiseshiftleft Sjcl
cve-icon MITRE

Status: PUBLISHED

Assigner: snyk

Published:

Updated: 2026-03-17T13:22:11.049Z

Reserved: 2026-03-16T10:00:53.239Z

Link: CVE-2026-4258

cve-icon Vulnrichment

Updated: 2026-03-17T13:21:33.775Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-03-17T06:16:18.590

Modified: 2026-03-17T14:20:01.670

Link: CVE-2026-4258

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-24T10:49:33Z

Weaknesses