
Exploit genérico de heap overflow para CVE-2022-24834 na biblioteca Redis Lua cjson, com localizador automático de gadgets, resolução de símbolos e manipulador de reverse shell para testes de penetração.
Equipe de Pesquisa Conviso
A equipe da Ricerca Security (@RicercaSec) descobriu e explorou com sucesso uma vulnerabilidade interessante (CVE-2022-24834) no interpretador Lua incluído no Redis. Esta vulnerabilidade é um estouro de heap na biblioteca cjson, e um artigo detalhado pode ser encontrado aqui.
Notamos alguns offsets hardcoded [2] [3], que podem ser um inconveniente para quem deseja testá-lo, então decidimos removê-los. O principal objetivo era torná-lo mais genérico e aprender um pouco sobre os internos do Lua.
local system_addr = resolve_symbol_gnu(libc_leak, "system"))Versão 6.2.12

Versão 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