Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.HUSKY
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.HUSKY с датами от 16 Jul 13 10:00:06 до 31 Mar 24 23:49:12, всего сообщений: 5321
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 4416 из 5321 ========================================= RU.HUSKY =
От   : Nil Alexandrov                   2:5015/46          30 Apr 21 09:03:32
Кому : All                                                 30 Apr 21 09:03:32
Тема : Падение в createPathArrayFromMsg()
FGHI : area://RU.HUSKY?msgid=2:5015/46+608ba1dd
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.HUSKY?msgid=2:5020/1042+609028ee
==============================================================================
Hello, All!

Имеется битый pkt со следующим телом (pkt сгенировала американская фазилка afl++):

=== START ===
AREA:TEST.LOCAL
test
 + Origin: Origin (2:5020/9999.0)
SEEN+BY: 5020/9999
PATH: 50
=== END ===

Внутри фунции hpt/src/seenby.c: createPathArrayFromMsg() ведётся подсчёт seenByCount, но как только мы попадаем в блок
375 else
376 {
377     w_log(LL_ALERT,
378           "Buggy PATH line encountered. Invalid node was removed from the line!");
379     --*seenByCount;
380 }

то мы декрементим seenByCount, после чего он становится равным нулю, и так и уходит в safe_realloc(0, ...)
399 (*seenBys) = (s_seenBy *)safe_realloc(*seenBys, sizeof(s_seenBy) * (*seenByCount));

после чего имеем двойное освобождение памяти, что есть UB.
==1338638==ERROR: AddressSanitizer: attempting double-free on 0x60c000003b80 in thread T0:
    #0 0x55555567f65f in free (/home/nil/husky/build.asan/hpt/hpt+0x12b65f)
    #1 0x5555556d57a1 in safe_realloc /home/nil/husky/hpt/src/fcommon.c:782
    #2 0x55555570bbd4 in createPathArrayFromMsg /home/nil/husky/hpt/src/seenby.c:399
    #3 0x5555556dd6bd in forwardMsgToLinks /home/nil/husky/hpt/src/toss.c:827
    #4 0x5555556e2ebd in processEMMsg /home/nil/husky/hpt/src/toss.c:1430
    #5 0x5555556e4d2a in processMsg /home/nil/husky/hpt/src/toss.c:1723
    #6 0x5555556e61a8 in processPkt /home/nil/husky/hpt/src/toss.c:1926
    #7 0x5555556e85c5 in processDir /home/nil/husky/hpt/src/toss.c:2368
    #8 0x5555556edc57 in toss /home/nil/husky/hpt/src/toss.c:3357
    #9 0x5555556c66f1 in main /home/nil/husky/hpt/src/hpt.c:1039
    #10 0x7ffff78f50b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #11 0x555555594a0d in _start (/home/nil/husky/build.asan/hpt/hpt+0x40a0d)

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: American Fuzzy Lop ++ (2:5015/46)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.043564 секунды