CVE-2026-22700

Source
https://cve.org/CVERecord?id=CVE-2026-22700
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22700.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-22700
Aliases
Published
2026-01-10T05:17:25.583Z
Modified
2026-01-24T05:50:23.568351Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
RustCrypto Has Insufficient Length Validation in decrypt() in SM2-PKE
Details

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 public-key encryption (PKE) implementation: the decrypt() path performs unchecked slice::split_at operations on input buffers derived from untrusted ciphertext. An attacker can submit short/undersized ciphertext or carefully-crafted DER-encoded structures to trigger bounds-check panics (Rust unwinding) which crash the calling thread or process. This issue has been patched via commit e60e991.

Database specific
{
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22700.json",
    "cwe_ids": [
        "CWE-20"
    ]
}
References

Affected packages

Git / github.com/rustcrypto/elliptic-curves

Affected ranges

Type
GIT
Repo
https://github.com/rustcrypto/elliptic-curves
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

bign256/v0.*
bign256/v0.13.0
bign256/v0.13.1
bignp256/v0.*
bignp256/v0.14.0-pre.0
bignp256/v0.14.0-rc.0
bignp256/v0.14.0-rc.1
bignp256/v0.14.0-rc.2
bignp256/v0.14.0-rc.3
bignp256/v0.14.0-rc.4
bp256/v0.*
bp256/v0.0.1
bp256/v0.0.2
bp256/v0.1.0
bp256/v0.14.0-pre.0
bp256/v0.14.0-rc.0
bp256/v0.14.0-rc.1
bp256/v0.14.0-rc.2
bp256/v0.14.0-rc.3
bp256/v0.14.0-rc.4
bp256/v0.2.0
bp256/v0.3.0
bp256/v0.4.0
bp256/v0.5.0
bp256/v0.6.0
bp256/v0.6.1
bp384/v0.*
bp384/v0.0.1
bp384/v0.0.2
bp384/v0.1.0
bp384/v0.14.0-pre.0
bp384/v0.14.0-rc.0
bp384/v0.14.0-rc.1
bp384/v0.14.0-rc.2
bp384/v0.14.0-rc.3
bp384/v0.14.0-rc.4
bp384/v0.2.0
bp384/v0.3.0
bp384/v0.4.0
bp384/v0.5.0
bp384/v0.6.0
bp384/v0.6.1
ed448-goldilocks/v0.*
ed448-goldilocks/v0.14.0-pre.0
ed448-goldilocks/v0.14.0-pre.1
ed448-goldilocks/v0.14.0-pre.2
ed448-goldilocks/v0.14.0-pre.3
ed448-goldilocks/v0.14.0-pre.4
ed448-goldilocks/v0.14.0-pre.5
ed448-goldilocks/v0.14.0-pre.6
ed448-goldilocks/v0.14.0-pre.7
elliptic-curve/v0.*
elliptic-curve/v0.3.0
elliptic-curve/v0.4.0
hash2curve/v0.*
hash2curve/v0.14.0-rc.0
hash2curve/v0.14.0-rc.1
hash2curve/v0.14.0-rc.2
hash2curve/v0.14.0-rc.3
hash2curve/v0.14.0-rc.4
hash2curve/v0.14.0-rc.5
hash2curve/v0.14.0-rc.6
hash2curve/v0.14.0-rc.7
k256/0.*
k256/0.12.0-pre.0
k256/v0.*
k256/v0.1.0
k256/v0.1.1
k256/v0.10.0
k256/v0.10.0-pre.1
k256/v0.10.1
k256/v0.10.2
k256/v0.11.0
k256/v0.11.0-pre.0
k256/v0.11.1
k256/v0.11.2
k256/v0.11.3
k256/v0.11.4
k256/v0.11.5
k256/v0.11.6
k256/v0.12.0
k256/v0.13.0
k256/v0.13.1
k256/v0.13.2
k256/v0.13.3
k256/v0.14.0-pre.0
k256/v0.14.0-pre.1
k256/v0.14.0-pre.10
k256/v0.14.0-pre.11
k256/v0.14.0-pre.2
k256/v0.14.0-pre.3
k256/v0.14.0-pre.4
k256/v0.14.0-pre.5
k256/v0.14.0-pre.6
k256/v0.14.0-pre.7
k256/v0.14.0-pre.8
k256/v0.14.0-pre.9
k256/v0.14.0-rc.0
k256/v0.14.0-rc.1
k256/v0.14.0-rc.2
k256/v0.14.0-rc.3
k256/v0.14.0-rc.4
k256/v0.2.0
k256/v0.3.0
k256/v0.4.0
k256/v0.4.1
k256/v0.4.2
k256/v0.5.0
k256/v0.5.10
k256/v0.5.2
k256/v0.5.3
k256/v0.5.4
k256/v0.5.5
k256/v0.5.6
k256/v0.5.7
k256/v0.5.8
k256/v0.5.9
k256/v0.6.0
k256/v0.7.0
k256/v0.7.1
k256/v0.7.2
k256/v0.8.0
k256/v0.8.0-pre
k256/v0.8.0-pre.1
k256/v0.8.1
k256/v0.9.0
k256/v0.9.1
k256/v0.9.2
k256/v0.9.3
k256/v0.9.4
k256/v0.9.5
k256/v0.9.6
p192/v0.*
p192/v0.13.0
p192/v0.14.0-rc.0
p192/v0.14.0-rc.1
p192/v0.14.0-rc.2
p192/v0.14.0-rc.3
p192/v0.14.0-rc.4
p224/v0.*
p224/v0.13.1
p224/v0.13.2
p224/v0.14.0-rc.0
p224/v0.14.0-rc.1
p224/v0.14.0-rc.2
p224/v0.14.0-rc.3
p224/v0.14.0-rc.4
p256/v0.*
p256/v0.1.0
p256/v0.10.0
p256/v0.10.0-pre.1
p256/v0.10.1
p256/v0.11.0
p256/v0.11.0-pre.0
p256/v0.11.1
p256/v0.12.0
p256/v0.12.0-pre.0
p256/v0.12.0-pre.1
p256/v0.13.0
p256/v0.13.1
p256/v0.13.2
p256/v0.14.0-pre.0
p256/v0.14.0-pre.1
p256/v0.14.0-pre.10
p256/v0.14.0-pre.11
p256/v0.14.0-pre.2
p256/v0.14.0-pre.3
p256/v0.14.0-pre.4
p256/v0.14.0-pre.5
p256/v0.14.0-pre.6
p256/v0.14.0-pre.7
p256/v0.14.0-pre.8
p256/v0.14.0-pre.9
p256/v0.14.0-rc.0
p256/v0.14.0-rc.1
p256/v0.14.0-rc.2
p256/v0.14.0-rc.3
p256/v0.14.0-rc.4
p256/v0.2.0
p256/v0.3.0
p256/v0.4.0
p256/v0.4.1
p256/v0.5.0
p256/v0.5.1
p256/v0.5.2
p256/v0.6.0
p256/v0.7.0
p256/v0.7.1
p256/v0.7.2
p256/v0.8.0
p256/v0.8.0-pre
p256/v0.8.0-pre.1
p256/v0.8.1
p256/v0.9.0
p384/v0.*
p384/v0.1.0
p384/v0.10.0
p384/v0.11.0
p384/v0.11.1
p384/v0.11.2
p384/v0.12.0
p384/v0.12.0-pre.0
p384/v0.12.0-pre.1
p384/v0.13.0
p384/v0.14.0-pre.1
p384/v0.14.0-pre.10
p384/v0.14.0-pre.11
p384/v0.14.0-pre.2
p384/v0.14.0-pre.3
p384/v0.14.0-pre.4
p384/v0.14.0-pre.5
p384/v0.14.0-pre.6
p384/v0.14.0-pre.7
p384/v0.14.0-pre.8
p384/v0.14.0-pre.9
p384/v0.14.0-rc.0
p384/v0.14.0-rc.1
p384/v0.14.0-rc.2
p384/v0.14.0-rc.3
p384/v0.14.0-rc.4
p384/v0.2.0
p384/v0.3.0
p384/v0.4.0
p384/v0.4.1
p384/v0.5.0
p384/v0.6.0
p384/v0.6.1
p384/v0.7.0
p384/v0.7.0-pre
p384/v0.7.0-pre.1
p384/v0.8.0
p384/v0.9.0
p521/v0.*
p521/v0.13.0
p521/v0.13.1
p521/v0.13.2
p521/v0.13.3
p521/v0.14.0-pre.1
p521/v0.14.0-pre.10
p521/v0.14.0-pre.11
p521/v0.14.0-pre.2
p521/v0.14.0-pre.3
p521/v0.14.0-pre.4
p521/v0.14.0-pre.5
p521/v0.14.0-pre.6
p521/v0.14.0-pre.7
p521/v0.14.0-pre.8
p521/v0.14.0-pre.9
p521/v0.14.0-rc.0
p521/v0.14.0-rc.1
p521/v0.14.0-rc.2
p521/v0.14.0-rc.3
p521/v0.14.0-rc.4
primefield/v0.*
primefield/v0.14.0-pre.0
primefield/v0.14.0-pre.1
primefield/v0.14.0-pre.2
primefield/v0.14.0-pre.3
primefield/v0.14.0-pre.4
primefield/v0.14.0-pre.5
primefield/v0.14.0-pre.6
primefield/v0.14.0-rc.0
primefield/v0.14.0-rc.1
primefield/v0.14.0-rc.2
primefield/v0.14.0-rc.3
primefield/v0.14.0-rc.4
primeorder/v0.*
primeorder/v0.0.1
primeorder/v0.0.2
primeorder/v0.12.0
primeorder/v0.12.1
primeorder/v0.13.0
primeorder/v0.13.1
primeorder/v0.13.2
primeorder/v0.13.3
primeorder/v0.13.4
primeorder/v0.13.5
primeorder/v0.13.6
primeorder/v0.14.0-pre.1
primeorder/v0.14.0-pre.2
primeorder/v0.14.0-pre.3
primeorder/v0.14.0-pre.4
primeorder/v0.14.0-pre.5
primeorder/v0.14.0-pre.6
primeorder/v0.14.0-pre.7
primeorder/v0.14.0-pre.8
primeorder/v0.14.0-pre.9
primeorder/v0.14.0-rc.0
primeorder/v0.14.0-rc.1
primeorder/v0.14.0-rc.2
primeorder/v0.14.0-rc.3
primeorder/v0.14.0-rc.4
sm2/v0.*
sm2/v0.13.0
sm2/v0.13.1
sm2/v0.13.2
sm2/v0.13.3
sm2/v0.14.0-pre.0
sm2/v0.14.0-rc.0
sm2/v0.14.0-rc.1
sm2/v0.14.0-rc.2
sm2/v0.14.0-rc.3
sm2/v0.14.0-rc.4
x448/v0.*
x448/v0.14.0-pre.0
x448/v0.14.0-pre.1
x448/v0.14.0-pre.2
x448/v0.14.0-pre.3
x448/v0.14.0-pre.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22700.json"