Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-8c75-8mhr-p7r9

Опубликовано: 22 апр. 2026
Источник: github
Github: Прошло ревью
CVSS4: 7.2

Описание

rust-openssl has incorrect bounds assertion in aes key wrap

Summary

aes::unwrap_key() has an incorrect bounds assertion on the out buffer size, which can lead to out-of-bounds write.

Details

aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough.

Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function.

Impact

Vulnerable applications using AES keywrap and allowing attacker controlled buffer sizes could have an attacker trigger an out-of-bounds write.

Пакеты

Наименование

openssl

rust
Затронутые версииВерсия исправления

>= 0.10.24, < 0.10.78

0.10.78

EPSS

Процентиль: 17%
0.00251
Низкий

7.2 High

CVSS4

Дефекты

CWE-787

Связанные уязвимости

CVSS3: 8.1
ubuntu
3 месяца назад

rust-openssl provides OpenSSL bindings for the Rust programming language. From to before 0.10.78, aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough. Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function. This vulnerability is fixed in 0.10.78.

CVSS3: 8.1
nvd
3 месяца назад

rust-openssl provides OpenSSL bindings for the Rust programming language. From to before 0.10.78, aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough. Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function. This vulnerability is fixed in 0.10.78.

msrc
3 месяца назад

rust-openssl: Incorrect bounds assertion in aes key wrap

CVSS3: 8.1
debian
3 месяца назад

rust-openssl provides OpenSSL bindings for the Rust programming langua ...

suse-cvrf
15 дней назад

Security update for aws-nitro-enclaves-cli

EPSS

Процентиль: 17%
0.00251
Низкий

7.2 High

CVSS4

Дефекты

CWE-787