Cyber Resilience

CVE-2026-22698

Rustcrypto Sm2 Elliptic Curve 0.14.0

Public PoC
Published
10 January 2026
Modified
12 March 2026
Patch / advisory
CVSS Score v4 8.7
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0025 16th percentile
Risk Priority 43 floored blend · peak EPSS

Summary

CVE-2026-22698 is a high-severity Insufficient Entropy (CWE-331) vulnerability in Rustcrypto Sm2 Elliptic Curve. Its CVSS base score is 8.7 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Brute Force (T1110); ranked at the 16th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SC-12 (Cryptographic Key Establishment and Management) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-22698 is a critical vulnerability in the SM2 Public Key Encryption (PKE) implementation within the RustCrypto elliptic-curves crate, which provides general-purpose Elliptic Curve Cryptography (ECC) support including types and traits for elliptic curve forms, scalars, points, and keys. The issue affects versions 0.14.0-pre.0 and 0.14.0-rc.0, where a unit mismatch error in the ephemeral nonce k generation function causes it to request only 32 bits of randomness instead of the expected 256 bits. This severely reduces entropy, dropping encryption security from 128-bit to a trivial 16-bit level and enabling practical attacks to recover the nonce.

The vulnerability has a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N), indicating it is exploitable over the network with low complexity and no privileges or user interaction required. Attackers can recover the nonce k from any SM2-encrypted ciphertext using only the corresponding public key, allowing full decryption of the plaintext. This impacts any applications or systems relying on the affected crate versions for SM2 PKE.

Mitigation is available via a patch in commit e4f7778, with related fixes in commits 4781762f23ff22ab34763410f648128055c93731 and e4f77788130d065d760e57fb109370827110a525, addressed through GitHub pull request #1600 in the RustCrypto/elliptic-curves repository. Users should update to a patched version beyond 0.14.0-rc.0, as indicated by the crates.io pages for the affected releases.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1110 Brute Force Credential Access
Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained.
T1110.001 Password Guessing Credential Access
Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts.
T1110.002 Password Cracking Credential Access
Adversaries may use password cracking to attempt to recover usable credentials, such as plaintext passwords, when credential material such as password hashes are obtained.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-22700Same product: Rustcrypto Sm2 Elliptic Curve
CVE-2026-22699Same product: Rustcrypto Sm2 Elliptic Curve
CVE-2025-50122Shared CWE-331
CVE-2026-1814Shared CWE-331
CVE-2025-14972Shared CWE-331
CVE-2026-11403Shared CWE-331
CVE-2025-47781Shared CWE-331
CVE-2025-59015Shared CWE-331
CVE-2023-31176Shared CWE-331
CVE-2026-46473Shared CWE-331

Affected Assets

rustcrypto
sm2 elliptic curve
0.14.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.5.2
  • V11.3.4

Mitigating Controls (NIST 800-53 r5) AI

Key establishment and management requirements force use of approved RNG sources with adequate entropy when generating keys.

Security engineering principles can include selection of strong entropy sources during design.

Mandating approved cryptographic algorithms and modules inherently requires sufficient entropy for random values and keys.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices explicitly include vetted RNG and entropy sources, directly preventing this weakness while covering many other development concerns.

PR.AA-03 partial match
prevents

Password-strength policies implicitly require sufficient entropy, but the control addresses authentication rather than algorithmic randomness.

PR.DS-01 partial match
prevents

Proper encryption for data-at-rest requires sufficient entropy for keys/nonces; eliminating the weakness therefore supports but does not fully realize the control.

PR.DS-02 partial match
prevents

Cryptographic protection of data-in-transit depends on adequate entropy; the weakness directly undermines the control's effectiveness.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Mandates use of cryptography that must rely on sufficient entropy sources.

finds

Security testing can detect insufficient-entropy defects before release.

prevents

Secure-SDLC activities include entropy validation during design and testing.

prevents

Secure-coding rules can explicitly forbid weak random-number generation.

degrades

Requires secure authentication mechanisms that depend on unpredictable secrets.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248524 OL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-331
  • V-248563 The OL 8 SSH server must be configured to use strong entropy. prevents CWE-331
RHEL 7 (1 rule)
  • V-204497 The Red Hat Enterprise Linux operating system must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-331
RHEL 8 (1 rule)
  • V-230223 RHEL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-331

References