{"id":"RUSTSEC-2026-0476","summary":"Buffer overflow with AES key wrap with padding in `cipher_update`","details":"`CipherCtxRef::cipher_update`, `CipherCtxRef::cipher_update_vec` and `symm::Crypter::update` require (or allocate) `input.len() + block_size` bytes of output. With the AES key-wrap-with-padding ciphers (`EVP_aes_128_wrap_pad`, `EVP_aes_192_wrap_pad`, `EVP_aes_256_wrap_pad`), OpenSSL pads the input to a multiple of 8 bytes and adds an 8-byte block, so when the input length is not a multiple of 8 it writes up to 7 bytes past the end of the caller's buffer or `Vec`. If an attacker can influence the plaintext length, this is heap corruption they can partly control.\n\nOnly users of the AES key-wrap-with-padding ciphers are affected. 0.10.79 sizes the output for these ciphers as the input length rounded up to a multiple of 8, plus 8.","aliases":["CVE-2026-44662","GHSA-xv59-967r-8726"],"modified":"2026-11-10T14:00:02.484047229Z","published":"2026-05-04T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/openssl"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0476.html"},{"type":"WEB","url":"https://github.com/rust-openssl/rust-openssl/pull/2630"}],"affected":[{"package":{"name":"openssl","ecosystem":"crates.io","purl":"pkg:cargo/openssl"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.10.0"},{"fixed":"0.10.79"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"arch":[],"os":[],"functions":["openssl::cipher_ctx::CipherCtxRef::cipher_update","openssl::cipher_ctx::CipherCtxRef::cipher_update_vec","openssl::symm::Crypter::update"]}},"database_specific":{"cvss":null,"informational":null,"categories":["memory-corruption"],"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0476.json"}}],"schema_version":"1.9.2"}