Every CVE Search/ Get API key

CVE-2022-50237

`ed25519-dalek` Double Public Key Signing Function Oracle Attack

5.9 MediumFix available

The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.22%Up 0.2 points since Jul 28, 2025
90%50%10%1%

What each source reports

CVE List Score used 5.9

The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

Record
CVE-2022-50237
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-497
Updated
2026-11-02
EUVDEUVD-2022-55212 5.9

The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

Record
EUVD-2022-55212
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-w5vr-6qhr-36cc 5.9

`ed25519-dalek` Double Public Key Signing Function Oracle Attack

Versions of ed25519-dalek prior to v2.0 model private and public keys as separate types which can be assembled into a Keypair, and also provide APIs for serializing and deserializing 64-byte private/public keypairs.

Such APIs and serializations are inherently unsafe as the public key is one of the inputs used in the deterministic computation of the S part of the signature, but not in the R value. An adversary could somehow use the signing function as an oracle that allows arbitrary public keys as input can obtain two signatures for the same message sharing the same R and only differ on the S part.

Unfortunately, when this happens, one can easily extract the private key.

Revised public APIs in v2.0 of ed25519-dalek do NOT allow a decoupled private/public keypair as signing input, except as part of specially labeled "hazmat" APIs which are clearly labeled as being dangerous if misused.

Record
GHSA-w5vr-6qhr-36cc
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-497
Updated
2026-11-02
NVD 5.9

The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

Record
CVE-2022-50237
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-497
Updated
2026-11-02
OSVGHSA-w5vr-6qhr-36cc 5.9

`ed25519-dalek` Double Public Key Signing Function Oracle Attack

Versions of ed25519-dalek prior to v2.0 model private and public keys as separate types which can be assembled into a Keypair, and also provide APIs for serializing and deserializing 64-byte private/public keypairs.

Such APIs and serializations are inherently unsafe as the public key is one of the inputs used in the deterministic computation of the S part of the signature, but not in the R value. An adversary could somehow use the signing function as an oracle that allows arbitrary public keys as input can obtain two signatures for the same message sharing the same R and only differ on the S part.

Unfortunately, when this happens, one can easily extract the private key.

Revised public APIs in v2.0 of ed25519-dalek do NOT allow a decoupled private/public keypair as signing input, except as part of specially labeled "hazmat" APIs which are clearly labeled as being dangerous if misused.

Record
GHSA-w5vr-6qhr-36cc
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-497
Updated
2026-11-02
OSVUBUNTU-CVE-2022-50237 5.9

The ed25519-dalek crate before 2 for Rust allows a double public key signing function oracle attack. The Keypair implementation leads to a simple computation for extracting a private key.

Record
UBUNTU-CVE-2022-50237
CVSS 3.1
5.9 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2026:11838-1 No score

pijul-1.0.0~beta.23-1.1 on GA media

These are all security issues fixed in the pijul-1.0.0~beta.23-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11838-1
Updated
2026-11-02
OSVRUSTSEC-2022-0093 No score

Double Public Key Signing Function Oracle Attack on `ed25519-dalek`

Versions of ed25519-dalek prior to v2.0 model private and public keys as separate types which can be assembled into a Keypair, and also provide APIs for serializing and deserializing 64-byte private/public keypairs.

Such APIs and serializations are inherently unsafe as the public key is one of the inputs used in the deterministic computation of the S part of the signature, but not in the R value. An adversary could somehow use the signing function as an oracle that allows arbitrary public keys as input can obtain two signatures for the same message sharing the same R and only differ on the S part.

Unfortunately, when this happens, one can easily extract the private key.

Revised public APIs in v2.0 of ed25519-dalek do NOT allow a decoupled private/public keypair as signing input, except as part of specially labeled "hazmat" APIs which are clearly labeled as being dangerous if misused.

Record
RUSTSEC-2022-0093
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ed25519-dalek
crates.io
before 2.0.0
2.0.0
ed25519-dalek
crates.io
0.0.0-0 up to 2.0.0
2.0.0
rust-curve25519-dalek
Ubuntu:25.10
All versions, plus listed versions
4.1.3+20240618+dfsg-9
None known
rust-curve25519-dalek
Ubuntu:26.10
All versions, plus listed versions
4.2.0+dfsg-1build14.2.0+dfsg-45.0.0+dfsg-1
None known
rust-curve25519-dalek
Ubuntu:26.04:LTS
All versions, plus listed versions
4.1.3+20240618+dfsg-94.2.0+dfsg-14.2.0+dfsg-1build1
None known
pijul
openSUSE:Tumbleweed
From an advisory covering 3 CVEs
before 1.0.0~beta.23-1.1
1.0.0~beta.23-1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2022-50237 is a medium vulnerability (CVSS 5.9) in Dalek-cryptography Ed25519-dalek, published June 11, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 12th percentile. Fixed in ed25519-dalek 2.0.0.

References

Show 5 moreShow less
MoveEnter Open