hashcat содержит переполнение буфера на основе кучи (запись за пределами границ) в функции outfile_write() в src/outfile.c. При сборке вывода в буфер фиксированного размера (HCBUFSIZ_LARGE, ~16 МБ) функция последовательно добавляет имя пользователя, разделитель, хэш и открытый текст через memcpy, не проверяя, остается ли накопленная длина в пределах емкости буфера. При запуске с --username --show для созданного хеш-файла, содержащего слишком большое имя пользователя, которое почти заполняет буфер, общий собранный вывод превышает буфер, вызывая переполнение буфера кучи, которое может повредить память и привести к сбою процесса.
Показать оригинальное описание (EN)
hashcat contains a heap-based buffer overflow (out-of-bounds write) in the outfile_write() function in src/outfile.c. When assembling output into a fixed-size buffer (HCBUFSIZ_LARGE, ~16 MB), the function sequentially appends the username, separator, hash, and plaintext via memcpy without validating that the accumulated length stays within the buffer capacity. When run with --username --show against a crafted hash file containing an oversized username that nearly fills the buffer, the total assembled output exceeds the buffer, causing a heap buffer overflow that can corrupt memory and crash the process.
Характеристики атаки
Последствия
Строка CVSS v4.0