В версиях GNU Binutils до 2.46 readelf содержит уязвимость, которая приводит к освобождению недопустимого указателя при обработке созданного двоичного файла ELF с неверным перемещением или символьными данными. Если dump_relocations возвращается раньше времени из-за ошибок синтаксического анализа, внутренний массив all_relocations может остаться частично неинициализированным. Позже процесс_got_section_contents() может попытаться освободить неверный указатель r_symbol, запуская проверки на повреждение памяти в glibc и заставляя программу завершить работу с SIGABRT.
Никаких признаков дальнейшего повреждения памяти или выполнения кода обнаружено не было; воздействие ограничивается отказом в обслуживании.
Показать оригинальное описание (EN)
GNU Binutils thru 2.46 readelf contains a vulnerability that leads to an invalid pointer free when processing a crafted ELF binary with malformed relocation or symbol data. If dump_relocations returns early due to parsing errors, the internal all_relocations array may remain partially uninitialized. Later, process_got_section_contents() may attempt to free an invalid r_symbol pointer, triggering memory corruption checks in glibc and causing the program to terminate with SIGABRT. No evidence of further memory corruption or code execution was observed; the impact is limited to denial of service.