I conducted tests on the vulnerabilities of 5 Chrome/Chromium JavaScript engines (V8) on three platforms (the list of vulnerabilities is as follows).
Without exception, the Android system failed to reach the stage of displaying the correct address (I used gdbserver + pwndbg to check if the data pointed to by the memory address was correct).
On the other hand, the addresses leaked by the "Windows" and "Debian" systems were all correct.
CVE:
- CVE-2016-5198
- CVE-2018-17463
- CVE-2019-5782
- CVE-2020-16040
- CVE-2021_21220
One of the tests is as follows:
CVE-2016-5198
Android
environment:
- VMware Workstation Pro 17.6.3
- android-x86_64-7.1-r5.iso from fosshub
- chrome Version:
54.0.2840.68
from link
Output:
ab_addr: 0x477081b31123000
func_addr: 0x477081b31123000
0x0
After multiple repeated runs,
ab_addr
is always equal tofunc_addr
, and the first 4 bytes ofab_addr
remain unchanged without reinstallingchrome
, while only the last 4 bytes change.The memory data at the position
0x477081b31123000 - 1
is not the data of anArrayBuffer
.The final output
shellcode_addr
is always0x0
.
The attached compressed file contains some detailed information from my test (including the specific versions of Chrome/Chromium used, download links, OS versions, etc.)
https://drive.google.com/file/d/1NuNADuXq0Pckfi15tYNEQByjszZrVi-T/view
I attempted to use Google search. Used the following several items
- "v8" "Android" "exploit" OR "reproduce"
- "v8" "Android" "exp" OR "rep"
- Android v8 漏洞 复现
- "Android" "v8" "address leak" mitigation OR protection
I found the following link. Its title is "Android Platform V8 Engine 'Issue 1793' Arbitrary Code Execution".
https://zhuanlan.zhihu.com/p/683584022
I tested this vulnerability. There were no surprises. The result was the same as the previous five vulnerabilities. Android failed to even correctly disclose the address. Windows and Debian, however, were able to do so.
However, neither the Google search results nor the text itself mentioned any protective measures related to the Android-specific "address leakage".
Is it true that Android does not have any protection code against Chrome/Chromium v8 address leakage?
So, what exactly is preventing the correct disclosure of the address information?