CVE-2022-50237: Medium severity Rust ed25519-dalek vulnerability

Published Aug 14, 2023
·
Updated

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.

Other sources

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.

GitHub

Affected Software

2 affected componentsFixes available
Rust ed25519-dalek<2
rust/ed25519-dalek<2.0.0
2.0.0

Event History

Aug 14, 2023
Advisory Published
via GitHub·09:10 PM
Data Sourced
via GitHub·09:10 PM
DescriptionSeverityWeaknessAffected Software
Jul 28, 2025
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:15 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2022-50237?

CVE-2022-50237 is considered a high-severity vulnerability due to its potential to allow private key extraction through a double signing function oracle attack.

2

How do I fix CVE-2022-50237?

To fix CVE-2022-50237, update the ed25519-dalek crate to version 2 or later in your Rust project.

3

What types of applications are affected by CVE-2022-50237?

CVE-2022-50237 affects applications that use the ed25519-dalek crate for cryptographic operations involving Ed25519 keypairs.

4

What kind of attack does CVE-2022-50237 facilitate?

CVE-2022-50237 facilitates a double public key signing function oracle attack, enabling an adversary to extract private keys.

5

Is there a workaround for CVE-2022-50237 until I can update?

There are no specific workarounds for CVE-2022-50237; upgrading to the patched version is strongly recommended.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203