Android Zygote Injection Flaw Lets Attackers Execute Code & Gain Elevated Privileges


A significant vulnerability in the Android operating system, identified as CVE-2024-31317, has been discovered, allowing attackers to exploit the Zygote process for system-wide code execution and privilege escalation.

This flaw affects devices running Android 11 or older, highlighting a critical security risk in the Android ecosystem.

Background and Vulnerability Details

The Zygote process is a foundational component of Android, responsible for spawning new application and system-level processes.

It runs with system privileges, making it a prime target for attackers seeking elevated access.

Zygote Injection Flaw
A high-level overview of the Android boot process

The vulnerability arises from how the System Server handles the hidden_api_blacklist_exemptions setting, which allows certain apps to bypass Android’s hidden API restrictions.

Specifically, the System Server does not properly escape newlines in this setting when passing it to Zygote, enabling attackers to inject arbitrary commands into the Zygote process.

Exploitation via ADB Shell

Attackers can exploit this vulnerability using the Android Debug Bridge (ADB) Shell, which possesses the necessary WRITE_SECURE_SETTINGS permission to modify the hidden_api_blacklist_exemptions setting.

Zygote Injection Flaw Zygote Injection Flaw
The vulnerable portion of the Android System Server source code. 

By injecting malicious commands into this setting, attackers can execute arbitrary code with system-wide privileges.

A proof-of-concept exploit demonstrates how to escalate privileges from the shell user to the system user by injecting a payload that spawns a new process with elevated permissions.

According to the researchers, this process can be configured to execute commands such as launching a persistent shell, allowing attackers to maintain control over the device.

Exploiting this vulnerability can lead to severe consequences, including potential device bootloops if the exploit is not properly cleaned up.

To mitigate these risks, users can restore normal Zygote behavior by deleting the modified hidden_api_blacklist_exemptions setting via ADB Shell and then rebooting the device.

However, this action will also remove any injected payloads, requiring attackers to repeat the exploitation process to regain elevated access.

The discovery of this vulnerability underscores the importance of securing Android’s core processes and highlights the need for prompt patches to protect against such exploits.

Are you from SOC/DFIR Teams? – Analyse Malware Incidents & get live Access with ANY.RUN -> Start Now for Free.



Source link