rust-openssl: MdCtxRef::digest_final() writes past caller buffer with no length check
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-121 and the CVSS impact.
Summary
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.10.39 to before 0.10.78, EVP_DigestFinal() always writes EVP_MD_CTX_size(ctx) to the out buffer. If out is smaller than that, MdCtxRef::digest_final() writes past its end, usually corrupting the stack. This is reachable from safe Rust. This vulnerability is fixed in 0.10.78.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| rust-openssl | rust-openssl | 0.10.39 to before 0.10.78 | 0.10.78 | Patch available | CNA |
| — | openssl (crates.io) | 0.10.39 to before 0.10.78 | 0.10.78 | Patch available | GHSA-ghm9-cr32-g9qj |
- rust-openssl Vendorrust-openssl Affected 0.10.39 to before 0.10.78 Fixed in 0.10.78 Patch available CNA
- openssl (crates.io) Vendor— Affected 0.10.39 to before 0.10.78 Fixed in 0.10.78 Patch available GHSA-ghm9-cr32-g9qj
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:* | 0.10.39 to before 0.10.78 | Vulnerable | rust-openssl |
- cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:* Versions 0.10.39 to before 0.10.78 Vulnerable ·rust-openssl
Remediation
- Fix · CNA rust-openssl (rust-openssl) Fixed in 0.10.78
- Fix · GHSA-ghm9-cr32-g9qj openssl (crates.io) Fixed in 0.10.78 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41681
- 2026-10-03 Alias added: GHSA-ghm9-cr32-g9qj
References
Advisory 2
More Rust-openssl vulnerabilities
- TI-2018-14959 An issue was discovered in the openssl crate before 0.10.9 for Rust. CVSS 3.0CRITICAL 9.8
- TI-2026-30193 rust-openssl: Deriver::derive and PkeyCtxRef::derive can overflow short buffers on OpenSSL 1.1.1 CVSS 4.0HIGH 7.2
- TI-2016-08969 An issue was discovered in the openssl crate before 0.9.0 for Rust. CVSS 3.0HIGH 8.1
- TI-2026-30300 rust-openssl: Unchecked callback-returned length in PSK and cookie generate trampolines… CVSS 4.0HIGH 8.3
- TI-2026-30195 rust-openssl: Incorrect bounds assertion in aes key wrap CVSS 4.0HIGH 7.2
- TI-2026-30194 rust-openssl: Out-of-bounds read in PEM password callback when user callback returns an oversized length CVSS 4.0LOW 1.7
Sources
- CVE-2026-41681 · CVE Program
- CVE-2026-41681 · NVD
- FIRST EPSS
- GHSA-ghm9-cr32-g9qj · GitHub Advisory Database · CC BY 4.0
- CVE-2026-41681 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences