mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-22 10:10:14 -04:00
wipe hmac keys correctly pre-3.0 libcrypto
A lingering `sizeof` from the prototype era of !11094 caused the key-wipe in `isc_hmac_key_destroy` to use `sizeof(key->len)` instead of `key->len` for the length argument of `isc_safe_memwipe`. This results in a buffer overflow of zero bytes in HMAC keys that are less than 4 bytes. As such, the overflow can only be visibile in keys that are less than 32-bits, which is beyond broken and creating such keys are only possible in testing. Therefore, this change is *not* a security fix since the conditions are never reachable in any imaginable deployment scenario. Builds that use OpenSSL >=3.0 are unaffected as the `sizeof` was only remaining in pre-3.0 builds.
This commit is contained in:
parent
2aba637548
commit
a531f00a75
1 changed files with 1 additions and 2 deletions
|
|
@ -137,8 +137,7 @@ isc_hmac_key_destroy(isc_hmac_key_t **keyp) {
|
|||
|
||||
key->magic = 0x00;
|
||||
|
||||
isc_safe_memwipe(key->secret, sizeof(key->len));
|
||||
|
||||
isc_safe_memwipe(key->secret, key->len);
|
||||
isc_mem_putanddetach(&key->mctx, key,
|
||||
STRUCT_FLEX_SIZE(key, secret, key->len));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue