H5Z__filter_fletcher32 в H5Zfletcher32.c в версиях с HDF5 по 2.3.0 вычисляет длину данных для получения контрольной суммы путем вычитания 4-байтовой конечной контрольной суммы из размера входного буфера без проверки того, что буфер имеет размер не менее 4 байтов, что допускает опустошение size_t. Это позволяет злоумышленникам вызвать отказ в обслуживании (массовое чтение за пределами допустимого диапазона и сбой приложения в H5_checksum_fletcher32) через созданный файл HDF5 с отфильтрованным Fletcher32 куском размером менее 4 байт, инициируемым через H5Dread, например. с помощью инструментов h5ls или h5dump.
Показать оригинальное описание (EN)
H5Z__filter_fletcher32 in H5Zfletcher32.c in HDF5 prior to 2.3.0 computes the data length to checksum by subtracting the 4-byte trailing checksum size from the input buffer size without checking that the buffer is at least 4 bytes, allowing a size_t underflow. This allows attackers to cause a denial of service (massively out-of-bounds read and application crash in H5_checksum_fletcher32) via a crafted HDF5 file with a Fletcher32-filtered chunk smaller than 4 bytes, triggered via H5Dread, e.g. by the h5ls or h5dump tools.
Характеристики атаки
Последствия
Строка CVSS v4.0