CVE-2026-33895: Forge has signature forgery in Ed25519 due to missing S > L check
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.
Security readout for executives and security teams
Plain-English summary
Forge before 1.4.0 can accept certain malformed Ed25519 signatures as valid. This can let an attacker change the signature bytes while preserving verification, undermining systems that use signatures for authorization, replay prevention, deduplication, or signed-object checks.
Executive priority
Prioritize remediation for internet-facing or identity-sensitive systems using forge Ed25519 verification. The issue has high integrity impact, no user interaction requirement, and a clear patched version.
Technical view
The Ed25519 verifier in digitalbazaar forge/node-forge does not reject non-canonical S values where S is at least the group order L. The advisory states both a valid signature and its S+L variant verify in forge, contrary to RFC8032 expectations and OpenSSL-backed Node.js behavior.
Likely exposure
Exposure is likely where applications depend on forge/node-forge versions below 1.4.0 and use its Ed25519 signature verification. Highest concern is authentication, authorization, replay tracking, signature uniqueness, deduplication, or signed-object canonicalization logic.
Exploitation context
The bundle does not cite active exploitation of CVE-2026-33895, and KEV is false. It does note this signature-malleability class has been exploited in practice in other CVEs, so affected trust-boundary uses should be treated seriously.
Researcher notes
Focus triage on Ed25519 verification paths in forge below 1.4.0. Evidence supports non-canonical signature acceptance; it does not support claims of active exploitation for this specific CVE.
Mitigation direction
Upgrade forge/node-forge to version 1.4.0 or later.
Inventory direct and transitive dependencies for forge versions below 1.4.0.
Check Red Hat advisories for packaged product status and updates.
Review logic that relies on raw signature-byte uniqueness.
Follow vendor guidance if immediate upgrade is blocked.
Validation and detection
Confirm installed forge/node-forge versions in manifests, lockfiles, and built artifacts.
Identify code paths using forge for Ed25519 signature verification.
Verify production images and deployments contain forge 1.4.0 or later.
Check replay, deduplication, and signed-object checks for signature-byte assumptions.
Track vendor advisories and VEX status for affected packaged components.
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-347: 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.
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-347 · source CWE mapping
Improper Verification of Cryptographic Signature
Improper Verification of Cryptographic Signature represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.