В функции SWTPM_NVRAM_CheckHeader() программы swtpm была обнаружена уязвимость чтения за пределами допустимого диапазона. Защита входа проверяет длину буфера по sizeof(bh), где bh — указатель, а не по sizeof(*bh), фактическому размеру структуры. Это позволяет буферу меньшего размера пройти проверку, вызывая перечитку 2-байтовой кучи в 64-битных системах (6 байт в 32-битной) при доступе к полю totlen.
Это может привести к завершению работы демона на некоторых платформах и утечке данных кучи в журнал.
Показать оригинальное описание (EN)
An out-of-bounds read vulnerability was found in swtpm's SWTPM_NVRAM_CheckHeader() function. The entry guard checks the buffer length against sizeof(bh), where bh is a pointer, instead of sizeof(*bh), the actual struct size. This allows an undersized buffer to pass validation, causing a 2-byte heap overread on 64-bit systems (6 bytes on 32-bit) when accessing the totlen field. This may cause daemon termination on some platforms and leaks heap data to the log.
Характеристики атаки
Последствия
Строка CVSS v3.1