1 line
1.5 KiB
JSON
1 line
1.5 KiB
JSON
{"schema_version":"1.9.2","id":"RUSTSEC-2026-0475","published":"2026-04-19T12:00:00Z","modified":"2026-11-10T14:00:02.487653947Z","aliases":["CVE-2026-41681","GHSA-ghm9-cr32-g9qj"],"summary":"Buffer overflow in `MdCtxRef::digest_final`","details":"`MdCtxRef::digest_final` passed the caller's output slice to OpenSSL's `EVP_DigestFinal` without checking its length. `EVP_DigestFinal` always writes the full digest (`EVP_MD_CTX_size` bytes), so an output slice shorter than the digest is overrun. With a stack buffer this usually corrupts the stack. The overflow is reachable from safe code.\n\n`MdCtxRef` was added in 0.10.39. 0.10.78 checks the slice length first and returns an error when the slice is too short for the digest.","affected":[{"package":{"name":"openssl","ecosystem":"crates.io","purl":"pkg:cargo/openssl"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.10.39"},{"fixed":"0.10.78"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"arch":[],"functions":["openssl::md_ctx::MdCtxRef::digest_final"],"os":[]}},"database_specific":{"categories":["memory-corruption"],"cvss":null,"informational":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0475.json"}}],"references":[{"type":"PACKAGE","url":"https://crates.io/crates/openssl"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0475.html"},{"type":"WEB","url":"https://github.com/rust-openssl/rust-openssl/pull/2608"}],"database_specific":{"license":"CC0-1.0"}} |