CVE-2026-45784
Rust vulnerability analysis and mitigation

Overview

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).

Technical details

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).

Impact

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).

Mitigation and workarounds

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).

Community reactions

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).

Additional resources


SourceThis report was generated using AI

Related Rust vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-4w2j-m93h-cj5jHIGH7.5
  • Rust logoRust
  • quinn-proto
NoYesJul 24, 2026
GHSA-g9hv-x236-4qp3MEDIUM5.3
  • Rust logoRust
  • russh
NoYesJul 24, 2026
GHSA-5xvq-cp9x-6p6rMEDIUM5.3
  • Rust logoRust
  • russh
NoYesJul 24, 2026
GHSA-cqjc-rmpq-xprqMEDIUM4.3
  • Rust logoRust
  • russh
NoYesJul 24, 2026
RUSTSEC-2026-0215NONEN/A
  • Rust logoRust
  • smallstr
NoNoJul 22, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management