rust-openssl: rustMdCtxRef::digest_final() writes past caller buffer with no length check
`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.
01
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-41681US | high7.5 | — | ||
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. I… | ||||
02
references
External citations — patches, advisories, analysis.
- https://github.com/rust-openssl/rust-opensslPACKAGE
- https://github.com/rust-openssl/rust-openssl/commit/826c3888b77add418b394770e2b2e3a72d9f92feWEB
- https://github.com/rust-openssl/rust-openssl/pull/2608WEB
- https://github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.78WEB
- https://github.com/rust-openssl/rust-openssl/security/advisories/GHSA-ghm9-cr32-g9qjWEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-41681ADVISORY
scry
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan