CVE-2026-4258: Versions of the package sjcl before 1.0.9 are vulnerable to Improper Verification of Cryptographic Signatur...
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.
Security readout for executives and security teams
Plain-English summary
sjcl versions before 1.0.9 may accept malicious elliptic-curve public keys without validating them. In applications that perform ECDH with attacker-controlled keys, repeated crafted requests and observable outputs could reveal a victim’s private key, compromising protected information. The reported impact is confidentiality loss, not service disruption or data modification.
Executive priority
Prioritize remediation for internet-reachable or partner-facing systems that process externally supplied ECDH keys. Private-key recovery can undermine confidentiality beyond a single transaction, particularly where keys are reused. Systems without the affected ECDH path are lower priority but still require dependency verification. Treat the upgrade and exposure assessment as urgent, while avoiding claims of active attacks.
Technical view
The sjcl.ecc.basicKey.publicKey() implementation lacks point-on-curve validation. An attacker can supply crafted off-curve public keys and analyze ECDH results to recover the victim’s private scalar. Risk is increased because dhJavaEc() returns the raw multiplication result’s x-coordinate without hashing, exposing an oracle without requiring decryption feedback. Versions before 1.0.9 are affected.
Likely exposure
Exposure requires sjcl before 1.0.9 and a reachable workflow performing ECDH with public keys influenced by an attacker. Applications merely including sjcl, but not using the affected ECC key-agreement path, may not be exploitable. Both the npm package and org.webjars.npm:sjcl dependency should be checked, including bundled client assets.
Exploitation context
The supplied record is not in CISA KEV, and the cited sources do not establish active exploitation. Public technical material and a repository fix are referenced, indicating practical research awareness. Exploitation requires interaction with an affected ECDH workflow and observation of its returned outputs; no authentication or user interaction is reflected in the supplied CVSS vector.
Researcher notes
CWE-347 and CWE-325 are assigned. CVSS 4.0 is 8.7 with network access, low complexity, no privileges, and no user interaction; confidentiality impact is high. The decisive exposure questions are whether attacker-controlled points reach scalar multiplication and whether outputs reveal the raw x-coordinate. The supplied affected-version metadata is clearer in the description than its placeholder version arrays.
Mitigation direction
Upgrade sjcl to version 1.0.9 or later after compatibility testing.
Update org.webjars.npm:sjcl where it packages a vulnerable sjcl release.
Restrict untrusted public keys from affected ECDH workflows until upgrades are complete.
Review vendor guidance and the referenced patch for validation requirements.
Assess whether exposed long-lived ECDH private keys should be rotated.
Validation and detection
Inventory direct, transitive, WebJar, and bundled sjcl versions.
Identify calls to sjcl.ecc.basicKey.publicKey() and dhJavaEc().
Confirm whether external parties can supply ECDH public keys.
Confirm whether raw or derived ECDH outputs are externally observable.
Test that malformed off-curve public keys are rejected after remediation.
Verify deployed artifacts contain sjcl 1.0.9 or later.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-325: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-325 · source CWE mapping
Missing Cryptographic Step
Missing Cryptographic Step represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Verification of Cryptographic Signature represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.