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.
We have discovered 514 live websites that are affected by CVE-2026-33895.
| Product | |
| Category | JavaScript Libraries |
| Vulnerable Domains | 514 live websites (100% of node-forge install base) |
| Vulnerable Versions |
|
| Vulnerable Versions Count | 5 versions ( 100% of all versions) |
| 357 websites | |
| 39 websites | |
| 17 websites | |
| 12 websites | |
| 9 websites | |
| 8 websites | |
| 7 websites | |
| 6 websites | |
| 6 websites | |
| 5 websites |
| .com | 287 websites |
| .cn | 36 websites |
| .de | 16 websites |
| .nl | 13 websites |
| .it | 11 websites |
| .org | 11 websites |
| .net | 9 websites |
| .co | 8 websites |
| .io | 7 websites |
| .pl | 7 websites |
| Domain | Country | Rank | Contacts |
|---|---|---|---|
| ***********.com | **,*** | ||
| *******.com | **,*** | ||
| *********.com | ***,*** | ||
| *******.com | ***,*** | ||
| ******.com | ***,*** | ||
| ********.com | ***,*** | ||
| *******.com | ***,*** | ||
| ************.com | ***,*** | ||
| *************.com | ***,*** | ||
| *******.co | ***,*** |
FAQ