RUSTSEC-2026-0476

Source
https://rustsec.org/advisories/RUSTSEC-2026-0476
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0476.json
JSON Data
https://api.test.osv.dev/v1/vulns/RUSTSEC-2026-0476
Aliases
Published
2026-05-04T12:00:00Z
Modified
2026-11-10T14:00:04Z
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.

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

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / openssl

Package

Name
openssl
View open source insights on deps.dev
Purl
pkg:cargo/openssl

Affected 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"