CVE-2021-0876

7.8 HIGH

📋 TL;DR

This CVE describes an integer overflow vulnerability in the PowerVR kernel driver for Android devices. It allows local attackers to gain kernel-level privileges without user interaction, potentially compromising the entire device. Affected systems include Android devices using PowerVR GPU hardware with vulnerable driver versions.

💻 Affected Systems

Products:
  • Android devices with PowerVR GPU hardware
Versions: Android SoC versions before April 2023 security patches
Operating Systems: Android
Default Config Vulnerable: ⚠️ Yes
Notes: Specific to devices using PowerVR graphics processing units; not all Android devices are affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete device compromise allowing attacker to install persistent malware, access all user data, and bypass all security controls.

🟠

Likely Case

Local privilege escalation enabling unauthorized access to sensitive data and system resources.

🟢

If Mitigated

Limited impact if SELinux policies restrict kernel access and device is fully patched.

🌐 Internet-Facing: LOW (requires local access to device)
🏢 Internal Only: HIGH (local attackers can exploit without authentication)

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires local access to device; kernel exploitation requires bypassing modern Android mitigations like KASLR, PAN, and CFI.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Android security patch level April 2023 or later

Vendor Advisory: https://source.android.com/security/bulletin/2023-04-01

Restart Required: Yes

Instructions:

1. Check current Android security patch level in Settings > About phone > Android version. 2. If patch level is before April 2023, update device through Settings > System > System update. 3. Restart device after update completes.

🔧 Temporary Workarounds

Restrict kernel module loading

linux

Prevent loading of unauthorized kernel modules to reduce attack surface

echo 1 > /proc/sys/kernel/modules_disabled

🧯 If You Can't Patch

  • Implement strict application allowlisting to prevent malicious apps from running
  • Enable SELinux in enforcing mode and audit kernel access attempts

🔍 How to Verify

Check if Vulnerable:

Check Android security patch level: Settings > About phone > Android version > Security patch level. If date is before April 2023, device is vulnerable.

Check Version:

adb shell getprop ro.build.version.security_patch

Verify Fix Applied:

Verify security patch level shows April 2023 or later after applying update.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic logs
  • SELinux denials for PowerVR driver access
  • Unexpected kernel module loads

Network Indicators:

  • None (local-only vulnerability)

SIEM Query:

source="android_kernel" AND ("PowerVR" OR "PVRSRV") AND ("panic" OR "oops" OR "segfault")

🔗 References

📤 Share & Export