
Generic heap overflow exploit для CVE-2022-24834 в библиотеке Lua cjson Redis, с автоматическим поиском гаджетов, разрешением символов и обработчиком обратной оболочки для пентеста.
Исследовательская группа Conviso
Команда из Ricerca Security (@RicercaSec) обнаружила и успешно эксплуатировала интересную уязвимость (CVE-2022-24834) в интерпретаторе Lua, включённом в Redis. Эта уязвимость представляет собой переполнение кучи в библиотеке cjson, подробное описание можно найти здесь.
Мы заметили некоторые жёстко заданные смещения [2] [3], которые могут доставить неудобства тем, кто хочет протестировать эксплойт, поэтому решили их удалить. Основная цель состояла в том, чтобы сделать его более универсальным и немного изучить внутренности Lua.
local system_addr = resolve_symbol_gnu(libc_leak, "system"));Версия 6.2.12

Версия 7.0.11

[1] https://ricercasecurity.blogspot.com/2023/07/fuzzing-farm-4-hunting-and-exploiting-0.html
[2] https://github.com/RICSecLab/exploit-poc-public/blob/main/CVE-2022-24834/exploit.lua#L341
[3] https://github.com/RICSecLab/exploit-poc-public/blob/main/CVE-2022-24834/exploit.lua#L362-L365
[4] https://saelo.github.io/posts/pwning-lua-through-load.html