Skip to content
OpenAdvisories
Low · 3.7 CVE-2026-125335 EUVD-2026-122797GHSA-6889-vf6x-f3g5

Forge: Ed25519 signature verification accepts small-order public keys

Published Nov 10, 2026 · Updated Nov 12, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
digitalbazaar forge < 1.4.3 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS node-node-forge No fix yet —
Ubuntu 20.04 LTS node-node-forge No fix yet —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-tensorboard No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling jitsucom-jitsu-console 2.11.0-r43 —
Wolfi rolling kubeflow-centraldashboard 2.0.0-r9 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm node-forge < 1.4.3 1.4.3 GHSA-6889-vf6x-f3g5

References