Read the docs
TI-2026-18226 Aliases CVE-2026-22699GHSA-78p6-6878-8mj6

RustCrypto SM2-PKE has Unchecked AffinePoint Decoding (unwrap) in decrypt()

Priority HIGH 72CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

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 denial-of-service vulnerability exists in the SM2 PKE decryption path where an invalid elliptic-curve point (C1) is decoded and the resulting value is unwrapped without checking. Specifically, AffinePoint::from_encoded_point(&encoded_c1) may return a None/CtOption::None when the supplied coordinates are syntactically valid but do not lie on the SM2 curve. The calling code previously used .unwrap(), causing a panic when presented with such input. This issue has been patched via commit 085b7be.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00436 38th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
RustCryptoelliptic-curves= 0.14.0-pre.0; = 0.14.0-rc.0—No fix listedCNA
—sm2 (crates.io)0.14.0-pre.0 – 0.14.0-rc.4—No fix listedGHSA-78p6-6878-8mj6
  • elliptic-curves VendorRustCrypto Affected = 0.14.0-pre.0; = 0.14.0-rc.0 Fixed in — No fix listed CNA
  • sm2 (crates.io) Vendor— Affected 0.14.0-pre.0 – 0.14.0-rc.4 Fixed in — No fix listed GHSA-78p6-6878-8mj6

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:a:rustcrypto:sm2_elliptic_curve:0.14.0:pre0:*:*:*:rust:*:*0.14.0 pre0VulnerableRustCrypto
cpe:2.3:a:rustcrypto:sm2_elliptic_curve:0.14.0:rc0:*:*:*:rust:*:*0.14.0 rc0VulnerableRustCrypto
  • cpe:2.3:a:rustcrypto:sm2_elliptic_curve:0.14.0:pre0:*:*:*:rust:*:* Versions 0.14.0 pre0 Vulnerable ·RustCrypto
  • cpe:2.3:a:rustcrypto:sm2_elliptic_curve:0.14.0:rc0:*:*:*:rust:*:* Versions 0.14.0 rc0 Vulnerable ·RustCrypto

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-22699
  2. 2026-10-03 Alias added: GHSA-78p6-6878-8mj6

References

  • TI-2026-18227 RustCrypto Has Insufficient Length Validation in decrypt() in SM2-PKE CVSS 3.1HIGH 7.5
  • TI-2026-18225 RustCrypto SM2-PKE has 32-bit Biased Nonce Vulnerability CVSS 4.0HIGH 8.7

Sources