RUSTSEC-2026-0240

Source
https://rustsec.org/advisories/RUSTSEC-2026-0240
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0240.json
JSON Data
https://api.test.osv.dev/v1/vulns/RUSTSEC-2026-0240
Aliases
  • GHSA-7j32-2mpw-c784
Published
2026-08-09T12:00:00Z
Modified
2026-08-09T12:45:02.621582115Z
Summary
Ed25519 identity public keys permit universal signature forgery
Details

All published versions of dcrypt-sign before 2.0.0 accepted the Edwards identity as an Ed25519 public key. A signature with R = B and S = 1 then verified for every message because the challenge term multiplied the identity. The implementation also admitted other noncanonical or small-order inputs. Consumers that accepted externally supplied dcrypt Ed25519 keys may therefore have accepted forged authorizations.

Version 2.0.0 replaces the custom arithmetic with ed25519-dalek, uses strict verification, and rejects noncanonical, small-order, and non-torsion-free public keys and R values, as well as noncanonical S >= L. No wrapper around the affected verifier is recommended as a complete workaround. Upgrade to 2.0.0 or later, audit registered keys and trust stores, and review historical actions authorized with externally supplied keys.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / dcrypt-sign

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
2.0.0

Ecosystem specific

{
    "affects": {
        "functions": [],
        "arch": [],
        "os": []
    },
    "affected_functions": null
}

Database specific

informational
null
source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0240.json"
categories
[
    "crypto-failure"
]
cvss
null