CVE-2026-41678 rust-openssl: Incorrect bounds assertion in aes key wrap
An incorrect bounds assertion in rust-openssl allows out-of-bounds writes, potentially leading to code execution or crashes.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-41678?
CVE-2026-41678 is a high-severity memory corruption vulnerability in rust-openssl, published on 24 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
rust-openssl provides OpenSSL bindings for the Rust programming language. From to before 0.10.78, aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough. Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function. This vulnerability is fixed in 0.10.78.
Weakness: CWE-787
Which versions are affected by CVE-2026-41678?
2 open source packages ship an affected version, including openssl. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
openssl crates.io | From 0.10.24 | 0.10.78 |
openssl crates.io | From 0.10.24 | 0.10.78 |
Products include Rust-Openssl Project Rust-Openssl.
How do I fix CVE-2026-41678?
Upgrade openssl to 0.10.78 or later.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-41678 being exploited?
There is no known exploitation of CVE-2026-41678 in the wild and no public exploit code.
Other vulnerabilities in rust-openssl
- CVE-2018-20997 Use after free in openssl
- CVE-2026-41898 rust-openssl: Unchecked callback length in PSK/cookie trampolines leaks adjacent memory to peer
- CVE-2026-41681 rust-openssl: MdCtxRef::digest_final() writes past caller buffer with no length check
- CVE-2016-10931 Improper Certificate Validation in openssl
- CVE-2026-41676 rust-openssl: Deriver::derive and PkeyCtxRef::derive can overflow short buffers on OpenSSL 1.1.1
Sources
Also known as AZL-83615, DEBIAN-CVE-2026-41678, GHSA-8c75-8mhr-p7r9, MINI-2363-5jmc-frgm, MINI-4r6p-2rqw-6v2w, MINI-4xc4-w6pm-j9qm and 6 more.