CVE-2026-22699: SM2-PKE has Unchecked AffinePoint Decoding (unwrap) in decrypt()
(updated )
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.
References
- github.com/RustCrypto/elliptic-curves
- github.com/RustCrypto/elliptic-curves/commit/085b7bee647029bd189e1375203418205006bcab
- github.com/RustCrypto/elliptic-curves/pull/1602
- github.com/RustCrypto/elliptic-curves/security/advisories/GHSA-78p6-6878-8mj6
- github.com/advisories/GHSA-78p6-6878-8mj6
- nvd.nist.gov/vuln/detail/CVE-2026-22699
Code Behaviors & Features
Detect and mitigate CVE-2026-22699 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 →