CVE Catalog

CVE-2026-33895

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.35%

27th percentile - higher than 27% of all known CVEs

Summary

The node-forge library before version 1.4.0 accepts non-canonical Ed25519 signatures where the scalar S is not reduced modulo the group order (S >= L). Both a valid signature and its S+L variant are considered valid, while the OpenSSL-backed implementation rejects the S+L variant as per the specification.

Risk Assessment

This vulnerability allows signature forgery, potentially bypassing authentication and authorization mechanisms. Applications relying on signature uniqueness (e.g., deduplication, replay tracking, canonicalization checks) are susceptible to signature malleability attacks.

Recommendation

Upgrade node-forge to version 1.4.0 or later immediately. If an upgrade is not feasible, implement additional server-side signature validation to reject signatures with S >= L.

Other vulnerabilities in node-forge

See all
Original NVD description (English source)

Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, Ed25519 signature verification accepts forged non-canonical signatures where the scalar S is not reduced modulo the group order (`S >= L`). A valid signature and its `S + L` variant both verify in forge, while Node.js `crypto.verify` (OpenSSL-backed) rejects the `S + L` variant, as defined by the specification. This class of signature malleability has been exploited in practice to bypass authentication and authorization logic (see CVE-2026-25793, CVE-2022-35961). Applications relying on signature uniqueness (i.e., dedup by signature bytes, replay tracking, signed-object canonicalization checks) may be bypassed. Version 1.4.0 patches the issue.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS