CVE-2026-22699CWE-20

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

High · published January 10, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
36.9
In the wild
Unconfirmed
What it is

⚡ A sneaky denial-of-service vulnerability hides in RustCrypto's SM2 decryption path, and it could leave your app in a panic! 🔥 Think of it like an elevator that throws a fit when someone tries to enter with an invalid keycard. The elevator's supposed to take you up to your desired floor, but instead, it just stops working altogether, leaving you stranded! When an attacker feeds an invalid elliptic curve point into the decryption process, it can cause the application to panic and crash. This means that legitimate users could be locked out or face service disruptions, potentially leading to a frustrating experience and loss of trust. Yikes!

Put simply

Think of it like an elevator that throws a fit when someone tries to enter with an invalid keycard. The elevator's supposed to take you up to your desired floor, but instead, it just stops working altogether, leaving you stranded! In RustCrypto versions 0.14.0-pre.0 and 0.14.0-rc.0, the SM2 decryption path lacks proper checks for invalid elliptic curve points, leading to a panic due to the use of .unwrap() on a None value when decoding. This flaw could be exploited by providing syntactically valid coordinates that aren’t on the SM2 curve.

What to do

When an attacker feeds an invalid elliptic curve point into the decryption process, it can cause the application to panic and crash. This means that legitimate users could be locked out or face service disruptions, potentially leading to a frustrating experience and loss of trust. Yikes! To protect your application, update to the patched version immediately. Ensure you check for valid elliptic curve points before unwrapping any values. This will help keep your service running smoothly! You've got this! Follow these steps, and you'll be back on track in no time! 🛡️

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00436 · 36.9th percentile
Weakness
CWE-20 · Improper Input Validation
Published
2026-01-10T05:17Z
EPSS history
Timeline
  • 10 JAN 05:17Z
    RustCrypto SM2-PKE has Unchecked AffinePoint Decoding (unwrap) in decrypt()
    cvelistv5