High severity · published Apr 24, 2026
CVE-2026-41676
rust-openssl: Deriver::derive and PkeyCtxRef::derive can overflow short buffers on OpenSSL 1.1.1
7.5
CVSS
0.3%
EPSS
No
On KEV
Description
rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.27 to before 0.10.78, Deriver::derive (and PkeyCtxRef::derive) sets len = buf.len() and passes it as the in/out length to EVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming *keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL. This vulnerability is fixed in 0.10.78.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 21% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
RU
rust-openssl · rust-openssl
>= 0.9.27, < 0.10.78 · source: vendor, NVD
Affected product
RU
rust-openssl
rust-openssl
More from rust-openssl
9.1
CVE-2026-41677
rust-openssl: Out-of-bounds read in PEM password callback when user callback returns an oversized length
8.7
CVE-2026-42327
rust-openssl: undefined behavior in X509Ref::ocsp_responders for certificates with non-UTF-8 OCSP URLs
8.1
CVE-2026-41678
rust-openssl: Incorrect bounds assertion in aes key wrap
7.5
CVE-2026-41681
rust-openssl: MdCtxRef::digest_final() writes past caller buffer with no length check
7.1
CVE-2026-45784
rust-openssl: Potential out-of-bounds write in `CipherCtxRef::cipher_update_inplace` for AES-KW-PAD ciphers