{"id":"CVE-2026-125335","published":"2026-11-10T19:21:11.250","lastModified":"2026-11-10T21:46:31.913","description":"Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.3, ed25519.verify() decodes a public key in crypto_sign_open() without rejecting small-order points or their non-canonical encodings. With S = 0 and a small-order R value, an attacker who can choose the public key can produce signatures that verify for many messages, or all messages with the identity key, without a private key. This can defeat proof-of-possession, attribution, non-repudiation, or deduplication checks that rely on a signature being bound to the message. Keys produced by normal Ed25519 key generation are not small-order, so applications that verify only trusted or internally generated public keys are not affected. This issue is fixed in version 1.4.3.","cvssScore":3.7,"cvssSeverity":"LOW","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N","cwes":["CWE-347"],"vendors":[],"products":[],"references":[{"url":"https://github.com/digitalbazaar/forge/commit/1b77e6f20082d7484479303d0252d5f427651295","tags":[]},{"url":"https://github.com/digitalbazaar/forge/pull/1169","tags":[]},{"url":"https://github.com/digitalbazaar/forge/releases/tag/v1.4.3","tags":[]},{"url":"https://github.com/digitalbazaar/forge/security/advisories/GHSA-6889-vf6x-f3g5","tags":[]}],"exploitRefs":[{"url":"https://github.com/digitalbazaar/forge/commit/1b77e6f20082d7484479303d0252d5f427651295","tags":[]},{"url":"https://github.com/digitalbazaar/forge/pull/1169","tags":[]},{"url":"https://github.com/digitalbazaar/forge/releases/tag/v1.4.3","tags":[]},{"url":"https://github.com/digitalbazaar/forge/security/advisories/GHSA-6889-vf6x-f3g5","tags":[]}],"hasPoc":true,"ai":null}