Home/Man Yue Mo
Author
MYMan Yue Mo

Man Yue Mo

23 articles by Man Yue Mo.

Security — Bypassing MTE with CVE-2025-0072

Bypassing MTE with CVE-2025-0072

In this post, I’ll look at CVE-2025-0072, a vulnerability in the Arm Mali GPU, and show how it can be exploited to gain kernel code execution even when Memory Tagging Extension (MTE) is enabled.

MYMan Yue MoMan Yue Mo·May 23, 2025Security
Security — Gaining kernel code execution on an MTE-enabled Pixel 8

Gaining kernel code execution on an MTE-enabled Pixel 8

In this post, I’ll look at CVE-2023-6241, a vulnerability in the Arm Mali GPU that allows a malicious app to gain arbitrary kernel code execution and root on an Android phone. I’ll show how this vulnerability can be exploited even when Memory Tagging Extension (MTE), a powerful mitigation, is enabled on the device.

MYMan Yue MoMan Yue Mo·March 18, 2024Security
Security — Rooting with root cause: finding a variant of a Project Zero bug

Rooting with root cause: finding a variant of a Project Zero bug

In this blog, I’ll look at CVE-2022-46395, a variant of CVE-2022-36449 (Project Zero issue 2327), and use it to gain arbitrary kernel code execution and root privileges from the untrusted app domain on an Android phone that uses the Arm Mali GPU. I’ll also explain how root cause analysis of CVE-2022-36449 led to the discovery of CVE-2022-46395.

MYMan Yue MoMan Yue Mo·May 25, 2023Security
Security — Pwning Pixel 6 with a leftover patch

Pwning Pixel 6 with a leftover patch

In this post, I’ll look at a security-related change in version r40p0 of the Arm Mali driver that was AWOL in the January update of the Pixel bulletin, where other patches from r40p0 was applied, and how these two lines of changes can be exploited to gain arbitrary kernel code execution and root from a malicious app. This highlights how treacherous it can be when backporting security changes.

MYMan Yue MoMan Yue Mo·April 6, 2023Security
Security — The code that wasn’t there: Reading memory on an Android device by accident

The code that wasn’t there: Reading memory on an Android device by accident

CVE-2022-25664, a vulnerability in the Qualcomm Adreno GPU, can be used to leak large amounts of information to a malicious Android application. Learn more about how the vulnerability can be used to leak information in both the user space and kernel space level of pages, and how the GitHub Security Lab used the kernel space information leak to construct a KASLR bypass.

MYMan Yue MoMan Yue Mo·February 23, 2023Security
Security — Pwning the all Google phone with a non-Google bug

Pwning the all Google phone with a non-Google bug

It turns out that the first “all Google” phone includes a non-Google bug. Learn about the details of CVE-2022-38181, a vulnerability in the Arm Mali GPU. Join me on my journey through reporting the vulnerability to the Android security team, and the exploit that used this vulnerability to gain arbitrary kernel code execution and root on a Pixel 6 from an Android app.

MYMan Yue MoMan Yue Mo·January 23, 2023Security
Security — Corrupting memory without memory corruption

Corrupting memory without memory corruption

In this post I’ll exploit CVE-2022-20186, a vulnerability in the Arm Mali GPU kernel driver and use it to gain arbitrary kernel memory access from an untrusted app on a Pixel 6. This then allows me to gain root and disable SELinux. This vulnerability highlights the strong primitives that an attacker may gain by exploiting errors in the memory management code of GPU drivers.

MYMan Yue MoMan Yue Mo·July 27, 2022Security
Security — The Chromium super (inline cache) type confusion

The Chromium super (inline cache) type confusion

In this post I’ll exploit CVE-2022-1134, a type confusion in Chrome that I reported in March 2022, which allows remote code execution (RCE) in the renderer sandbox of Chrome by a single visit to a malicious site. I’ll also look at some past vulnerabilities of this type and some implementation details of inline cache in V8, the JavaScript engine of Chrome.

MYMan Yue MoMan Yue Mo·June 29, 2022Security
Security — The Android kernel mitigations obstacle race

The Android kernel mitigations obstacle race

In this post I’ll exploit CVE-2022-22057, a use-after-free in the Qualcomm gpu kernel driver, to gain root and disable SELinux from the untrusted app sandbox on a Samsung Z flip 3. I’ll look at various mitigations that are implemented on modern Android devices and how they affect the exploit.

MYMan Yue MoMan Yue Mo·June 16, 2022Security
Security — Chrome in-the-wild bug analysis: CVE-2021-37975

Chrome in-the-wild bug analysis: CVE-2021-37975

This post is a technical analysis of a recently disclosed Chrome vulnerability in the garbage collector of v8 (CVE-2021-37975) that was believed to be exploited in the wild. This vulnerability was reported by an anonymous researcher and was patched on September 30, 2021 in Chrome version 94.0.4606.71. I’ll cover the root cause analysis of the bug, as well as detailed exploitation.

MYMan Yue MoMan Yue Mo·October 19, 2021Security
Security — The fugitive in Java: Escaping to Java to escape the Chrome sandbox

The fugitive in Java: Escaping to Java to escape the Chrome sandbox

In this post, I’ll exploit a use-after-free (CVE-2021-30528) in the Chrome browser process that I reported to escape the Chrome sandbox. This is a fairly interesting bug that shows some of the subtleties involved in the interactions between C++ and Java in the Android version of Chrome.

MYMan Yue MoMan Yue Mo·September 30, 2021Security
Security — Chrome in-the-wild bug analysis: CVE-2021-30632

Chrome in-the-wild bug analysis: CVE-2021-30632

This post is a technical analysis of a recently disclosed Chrome JIT vulnerability (CVE-2021-30632) that was believed to be exploited in the wild. This vulnerability was reported by an anonymous researcher and was patched on September 13, 2021 in Chrome version 93.0.4577.82. I’ll cover the root cause analysis of the bug, as well as detailed exploitation.

MYMan Yue MoMan Yue Mo·September 27, 2021Security
Security — One day short of a full chain: Part 3 – Chrome renderer RCE

One day short of a full chain: Part 3 – Chrome renderer RCE

In this last post of the series, I’ll exploit a use-after-free in the Chrome renderer (CVE-2020-15972), a bug that I reported in September 2020 but turned out to be a duplicate, to gain remote code execution in the sandboxed renderer process in Chrome.

MYMan Yue MoMan Yue Mo·March 24, 2021Security
Security — One day short of a full chain: Part 1 – Android Kernel arbitrary code execution

One day short of a full chain: Part 1 – Android Kernel arbitrary code execution

In this series of posts, I’ll go through the exploit of three security bugs that I reported, which, when used together, can achieve remote kernel code execution in Qualcomm’s devices by visiting a malicious website in a beta version of Chrome. In this first post, I’ll exploit a use-after-free in Qualcomm’s kgsl driver (CVE-2020-11239), a bug that I reported in July 2020 and that was fixed in Janua

MYMan Yue MoMan Yue Mo·March 16, 2021Security
Security — One day short of a full chain: Part 2 – Chrome sandbox escape

One day short of a full chain: Part 2 – Chrome sandbox escape

In this second post of the series, I’ll exploit a use-after-free in the Payment component of Chrome (1125614/GHSL-2020-165), a bug that I reported in September 2020 that only affected version 86 of Chrome, which was in beta. I’ll use it to escape the Chrome sandbox to gain privilege of a third party App on Android from a compromised renderer.

MYMan Yue MoMan Yue Mo·March 16, 2021Security
Security — Exploiting a textbook use-after-free security vulnerability in Chrome

Exploiting a textbook use-after-free security vulnerability in Chrome

In this post I’ll give details about how to exploit CVE-2020-6449, a use-after-free (UAF) in the WebAudio module of Chrome that I discovered in March 2020. I’ll give an outline of the general strategy to exploit this type of UAF to achieve a sandboxed RCE in Chrome by a single click (and perhaps a 2 minute wait) on a malicious website.

MYMan Yue MoMan Yue Mo·October 27, 2020Security