
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-45784 is a heap buffer out-of-bounds write vulnerability in the rust-openssl crate (Rust OpenSSL bindings) affecting the CipherCtxRef::cipher_update_inplace function in openssl/src/cipher_ctx.rs. When used with AES key-wrap-with-padding ciphers (EVP_aes_{128,192,256}_wrap_pad), the function incorrectly calculates the output buffer size for non-multiple-of-8 inputs, allowing OpenSSL to write up to 7 bytes past the end of the allocated buffer or Vec. The vulnerability affects rust-openssl versions >= 0.10.50 and < 0.10.80, and was published on May 16, 2026, with a CVSS v4 base score of 5.1 (Medium) (GitHub Advisory, GHSA).
The root cause is an incorrect buffer size calculation (CWE-131) leading to an out-of-bounds write (CWE-787). A prior fix (GHSA-xv59-967r-8726, PR #2630) correctly updated cipher_update and cipher_update_vec to size their output buffers as round_up(inlen, 8) + 8 for AES wrap-mode ciphers, but cipher_update_inplace was missed and retained the incorrect inlen + block_size bound. For example, with Cipher::aes_256_wrap_pad() and 9 bytes of input, the old assertion accepted a 17-byte slice while OpenSSL actually writes 24 bytes — a 7-byte out-of-bounds write reachable from safe Rust code. The fix (PR #2638, commit 19eceb2) switches cipher_update_inplace to use the shared cipher_update_output_size helper, which correctly computes the required output size for wrap-pad ciphers (GitHub PR #2638, Commit).
Successful exploitation can produce attacker-controllable heap corruption when the plaintext length passed to cipher_update_inplace is attacker-influenced and the application uses AES key-wrap-with-padding ciphers. This can lead to low-integrity and low-availability impacts on the vulnerable system, potentially enabling memory corruption, application crashes, or in more complex scenarios, arbitrary code execution depending on heap layout. Confidentiality impact is assessed as none at the vulnerable system level, and there is no assessed impact on subsequent systems (GitHub Advisory).
The vulnerability is fixed in rust-openssl version 0.10.80, released May 16, 2026. Users should update their Cargo.toml dependency to openssl = "0.10.80" or later and rebuild affected applications. No configuration-based workaround exists; the only mitigation is upgrading to the patched version. Applications that do not use AES key-wrap-with-padding ciphers (EVP_aes_{128,192,256}_wrap_pad) via cipher_update_inplace are not affected. SUSE has also issued security updates for affected packages (e.g., rust-keylime, rustup) incorporating the fix (Release Notes, SUSE Advisory).
The vulnerability was reported by researcher thesmartshadow and fixed by the rust-openssl maintainer alex on May 16, 2026. The advisory notes this was a missed case from a prior related fix (GHSA-xv59-967r-8726), highlighting the challenge of comprehensive patch coverage for cipher-specific edge cases. Downstream Linux distributions including SUSE and openSUSE issued security advisories and package updates incorporating the fix (GHSA, SUSE Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."