Files
vuln-osv/data/crates.io/RUSTSEC-2026-0476.json
T

1 line
1.8 KiB
JSON

{"schema_version":"1.9.2","id":"RUSTSEC-2026-0476","published":"2026-05-04T12:00:00Z","modified":"2026-11-10T14:00:02.484047229Z","aliases":["CVE-2026-44662","GHSA-xv59-967r-8726"],"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.","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":[],"functions":["openssl::cipher_ctx::CipherCtxRef::cipher_update","openssl::cipher_ctx::CipherCtxRef::cipher_update_vec","openssl::symm::Crypter::update"],"os":[]}},"database_specific":{"categories":["memory-corruption"],"cvss":null,"informational":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0476.json"}}],"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"}],"database_specific":{"license":"CC0-1.0"}}