RustCrypto: Elliptic Curves is general purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof. In versions 0.14.0-pre.0 and 0.14.0-rc.0, a critical vulnerability exists in the SM2 Public Key Encryption (PKE) implementation where the ephemeral nonce k is generated with severely reduced entropy. A unit mismatch error causes the nonce generation function to request only 32 bits of randomness instead of the expected 256 bits. This reduces the security of the encryption from a 128-bit level to a trivial 16-bit level, allowing a practical attack to recover the nonce k and decrypt any ciphertext given only the public key and ciphertext. This issue has been patched via commit e4f7778.
Metrics
Affected Vendors & Products
References
History
Mon, 12 Jan 2026 17:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Mon, 12 Jan 2026 14:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rustcrypto
Rustcrypto elliptic-curves |
|
| Vendors & Products |
Rustcrypto
Rustcrypto elliptic-curves |
Sat, 10 Jan 2026 05:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | RustCrypto: Elliptic Curves is general purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof. In versions 0.14.0-pre.0 and 0.14.0-rc.0, a critical vulnerability exists in the SM2 Public Key Encryption (PKE) implementation where the ephemeral nonce k is generated with severely reduced entropy. A unit mismatch error causes the nonce generation function to request only 32 bits of randomness instead of the expected 256 bits. This reduces the security of the encryption from a 128-bit level to a trivial 16-bit level, allowing a practical attack to recover the nonce k and decrypt any ciphertext given only the public key and ciphertext. This issue has been patched via commit e4f7778. | |
| Title | RustCrypto SM2-PKE has 32-bit Biased Nonce Vulnerability | |
| Weaknesses | CWE-331 | |
| References |
|
|
| Metrics |
cvssV4_0
|
Status: PUBLISHED
Assigner: GitHub_M
Published: 2026-01-10T05:17:19.993Z
Updated: 2026-01-12T16:48:30.706Z
Reserved: 2026-01-08T19:23:09.856Z
Link: CVE-2026-22698
Updated: 2026-01-12T16:48:28.067Z
Status : Awaiting Analysis
Published: 2026-01-10T06:15:52.220
Modified: 2026-01-13T14:03:18.990
Link: CVE-2026-22698
No data.