CVE-2026-22699: CWE-20: Improper Input Validation in RustCrypto elliptic-curves
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.
AI Analysis
Technical Summary
CVE-2026-22699 identifies a denial-of-service vulnerability in the RustCrypto elliptic-curves library, specifically affecting versions 0.14.0-pre.0 and 0.14.0-rc.0. RustCrypto provides general-purpose elliptic curve cryptography support, including types and traits for elliptic curve points, scalars, and keys. The vulnerability exists in the SM2 public key encryption (PKE) decryption path, where the code attempts to decode an elliptic curve point (C1) using AffinePoint::from_encoded_point(&encoded_c1). This function may return None (CtOption::None) if the input coordinates, while syntactically valid, do not lie on the SM2 curve. The affected code improperly uses .unwrap() on this result without checking for None, causing a panic and thus a denial-of-service condition when invalid points are supplied. This flaw allows an attacker to send crafted ciphertexts with invalid points to crash the application performing the decryption. The vulnerability does not compromise confidentiality or integrity but impacts availability by causing application crashes. It requires no privileges or user interaction to exploit and can be triggered remotely. The issue was addressed in a patch that removes the unsafe unwrap and adds proper validation and error handling. No known exploits are currently reported in the wild. The CVSS v3.1 score is 7.5, indicating a high severity due to network vector, low attack complexity, no privileges required, and no user interaction needed, with impact limited to availability.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to availability. Systems using the affected RustCrypto elliptic-curves library versions in their cryptographic operations, particularly those implementing SM2 PKE, may be susceptible to denial-of-service attacks. This can lead to application crashes, service interruptions, and potential operational downtime. Industries relying on secure communications, such as finance, telecommunications, and government sectors, could experience disruptions if their cryptographic libraries are vulnerable. Although confidentiality and integrity are not directly impacted, the availability loss can degrade trust and service reliability. Organizations using Rust-based cryptographic solutions or third-party software incorporating these versions should assess their exposure. The lack of required authentication or user interaction increases the risk of remote exploitation, making public-facing services particularly vulnerable. The absence of known exploits suggests limited current active threat, but the ease of triggering the issue warrants prompt remediation to avoid future attacks.
Mitigation Recommendations
1. Upgrade immediately to a patched version of RustCrypto elliptic-curves beyond 0.14.0-rc.0 where the unwrap issue is fixed. 2. Audit all cryptographic components and dependencies in your software supply chain to identify usage of the vulnerable versions. 3. Implement additional input validation and error handling around elliptic curve point decoding to prevent unhandled panics. 4. Employ runtime monitoring and alerting for application crashes or unusual termination patterns in cryptographic modules. 5. For critical systems, consider deploying rate limiting or input sanitization on endpoints accepting SM2 encrypted data to reduce attack surface. 6. Engage with software vendors and development teams to ensure secure coding practices that avoid unsafe unwraps or unchecked assumptions in cryptographic code. 7. Conduct penetration testing focusing on malformed cryptographic inputs to validate resilience against denial-of-service conditions. 8. Maintain an updated inventory of cryptographic libraries and their versions to facilitate rapid vulnerability response.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden
CVE-2026-22699: CWE-20: Improper Input Validation in RustCrypto elliptic-curves
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 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.
AI-Powered Analysis
Technical Analysis
CVE-2026-22699 identifies a denial-of-service vulnerability in the RustCrypto elliptic-curves library, specifically affecting versions 0.14.0-pre.0 and 0.14.0-rc.0. RustCrypto provides general-purpose elliptic curve cryptography support, including types and traits for elliptic curve points, scalars, and keys. The vulnerability exists in the SM2 public key encryption (PKE) decryption path, where the code attempts to decode an elliptic curve point (C1) using AffinePoint::from_encoded_point(&encoded_c1). This function may return None (CtOption::None) if the input coordinates, while syntactically valid, do not lie on the SM2 curve. The affected code improperly uses .unwrap() on this result without checking for None, causing a panic and thus a denial-of-service condition when invalid points are supplied. This flaw allows an attacker to send crafted ciphertexts with invalid points to crash the application performing the decryption. The vulnerability does not compromise confidentiality or integrity but impacts availability by causing application crashes. It requires no privileges or user interaction to exploit and can be triggered remotely. The issue was addressed in a patch that removes the unsafe unwrap and adds proper validation and error handling. No known exploits are currently reported in the wild. The CVSS v3.1 score is 7.5, indicating a high severity due to network vector, low attack complexity, no privileges required, and no user interaction needed, with impact limited to availability.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to availability. Systems using the affected RustCrypto elliptic-curves library versions in their cryptographic operations, particularly those implementing SM2 PKE, may be susceptible to denial-of-service attacks. This can lead to application crashes, service interruptions, and potential operational downtime. Industries relying on secure communications, such as finance, telecommunications, and government sectors, could experience disruptions if their cryptographic libraries are vulnerable. Although confidentiality and integrity are not directly impacted, the availability loss can degrade trust and service reliability. Organizations using Rust-based cryptographic solutions or third-party software incorporating these versions should assess their exposure. The lack of required authentication or user interaction increases the risk of remote exploitation, making public-facing services particularly vulnerable. The absence of known exploits suggests limited current active threat, but the ease of triggering the issue warrants prompt remediation to avoid future attacks.
Mitigation Recommendations
1. Upgrade immediately to a patched version of RustCrypto elliptic-curves beyond 0.14.0-rc.0 where the unwrap issue is fixed. 2. Audit all cryptographic components and dependencies in your software supply chain to identify usage of the vulnerable versions. 3. Implement additional input validation and error handling around elliptic curve point decoding to prevent unhandled panics. 4. Employ runtime monitoring and alerting for application crashes or unusual termination patterns in cryptographic modules. 5. For critical systems, consider deploying rate limiting or input sanitization on endpoints accepting SM2 encrypted data to reduce attack surface. 6. Engage with software vendors and development teams to ensure secure coding practices that avoid unsafe unwraps or unchecked assumptions in cryptographic code. 7. Conduct penetration testing focusing on malformed cryptographic inputs to validate resilience against denial-of-service conditions. 8. Maintain an updated inventory of cryptographic libraries and their versions to facilitate rapid vulnerability response.
Affected Countries
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-01-08T19:23:09.856Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6961e3b319784dcf52ed6554
Added to database: 1/10/2026, 5:29:23 AM
Last enriched: 1/10/2026, 5:44:05 AM
Last updated: 1/10/2026, 10:08:14 PM
Views: 17
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2026-0824: Cross Site Scripting in questdb ui
MediumCVE-2025-13393: CWE-918 Server-Side Request Forgery (SSRF) in marceljm Featured Image from URL (FIFU)
MediumCVE-2025-12379: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in averta Shortcodes and extra features for Phlox theme
MediumCVE-2026-0822: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumCVE-2026-0821: Heap-based Buffer Overflow in quickjs-ng quickjs
MediumActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.