Можете ли вы проанализировать этот результат с помощью средства очистки адресов

#malloc #address-sanitizer #fuzzing

#malloc #средство очистки адресов #фаззинг

Вопрос:

введите описание изображения здесь

Я запустил AFL fuzzer для программы с открытым исходным кодом и запустил программу с аварийным завершением вывода из-за фаззинга.

Это результат address sanitizer, но я не уверен, что это за ошибка на самом деле.

И где я должен искать?

Я также добавляю результат gdb на первый взгляд.

введите описание изображения здесь

Комментарии:

1. В отчете указывается имя функции, имя исходного файла и номер строки в исходном файле. Не должно быть сложно найти местоположения в коде.

2. Пожалуйста, вставьте такие данные в свой вопрос (в виде блока кода) вместо ссылки на изображение вне сайта.

3. И при обнаружении сбоев в отладчике, поднимайтесь по стеку вызовов, пока не дойдете до «вашего» кода, не оставайтесь в коде библиотеки.

Ответ №1:

Можете ли вы проанализировать этот результат с помощью средства очистки адресов

Средство очистки адресов точно сообщило вам, в чем проблема и где она возникает:

  1. В строке 581 dact_common.cc (в функции dact_process_file ) вы выделили блок памяти объемом 524299 байт.
  2. У comp_plain_algo() вас memcpy в этой памяти 747621 байт. Это memcpy вызывает переполнение буфера кучи, о котором сообщается.