Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. ed25519-dalek
  4. ›
  5. CVE-2022-50237

CVE-2022-50237: `ed25519-dalek` Double Public Key Signing Function Oracle Attack

August 14, 2023 (updated July 28, 2025)

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.

References

  • github.com/MystenLabs/ed25519-unsafe-libs
  • github.com/advisories/GHSA-w5vr-6qhr-36cc
  • github.com/dalek-cryptography/ed25519-dalek
  • nvd.nist.gov/vuln/detail/CVE-2022-50237
  • rustsec.org/advisories/RUSTSEC-2022-0093.html

Code Behaviors & Features

Detect and mitigate CVE-2022-50237 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 2.0.0

Fixed versions

  • 2.0.0

Solution

Upgrade to version 2.0.0 or above.

Impact 5.9 MEDIUM

CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-497: Exposure of Sensitive System Information to an Unauthorized Control Sphere

Source file

cargo/ed25519-dalek/CVE-2022-50237.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:19 +0000.