CVE-2025-3212

5.3 MEDIUM

📋 TL;DR

A Use After Free vulnerability in Arm GPU kernel drivers allows local non-privileged users to access freed memory through GPU operations. This affects Bifrost, Valhall, and Arm 5th Gen GPU drivers across multiple versions. Attackers could potentially escalate privileges or cause system instability.

💻 Affected Systems

Products:
  • Arm Ltd Bifrost GPU Kernel Driver
  • Arm Ltd Valhall GPU Kernel Driver
  • Arm Ltd Arm 5th Gen GPU Architecture Kernel Driver
Versions: Bifrost: r41p0 through r49p4, r50p0 through r51p0; Valhall: r41p0 through r49p4, r50p0 through r54p0; Arm 5th Gen: r41p0 through r49p4, r50p0 through r54p0
Operating Systems: Android, Linux distributions with affected Arm GPU drivers
Default Config Vulnerable: ⚠️ Yes
Notes: Affects devices using Arm Mali GPUs with vulnerable driver versions. Requires local user access to exploit.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation leading to full system compromise, kernel memory corruption, or denial of service.

🟠

Likely Case

Local privilege escalation allowing attackers to gain elevated permissions on the affected system.

🟢

If Mitigated

Limited impact if proper access controls restrict local user access and privilege escalation is prevented.

🌐 Internet-Facing: LOW - Requires local access to exploit, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Local attackers or malicious insiders could exploit this to escalate privileges on vulnerable systems.

🎯 Exploit Status

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

Requires local access and knowledge of GPU memory operations. No public exploit code available at this time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after the affected ranges: Bifrost > r51p0, Valhall > r54p0, Arm 5th Gen > r54p0

Vendor Advisory: https://developer.arm.com/documentation/110627/latest

Restart Required: No

Instructions:

1. Check current GPU driver version. 2. Update to patched driver version from Arm or device manufacturer. 3. Apply kernel updates if provided by OS vendor. 4. Verify driver version after update.

🔧 Temporary Workarounds

Restrict local user access

all

Limit local user accounts and implement strict access controls to reduce attack surface.

Disable unnecessary GPU features

all

Disable GPU acceleration for non-essential applications if possible.

🧯 If You Can't Patch

  • Implement strict access controls to limit local user privileges
  • Monitor for unusual GPU memory operations or privilege escalation attempts

🔍 How to Verify

Check if Vulnerable:

Check GPU driver version via 'cat /sys/class/misc/mali0/device/driver/version' or similar device-specific commands

Check Version:

cat /sys/class/misc/mali0/device/driver/version 2>/dev/null || echo 'Check device-specific documentation'

Verify Fix Applied:

Verify driver version is outside affected ranges after update

📡 Detection & Monitoring

Log Indicators:

  • Kernel logs showing memory corruption, GPU driver crashes, or privilege escalation attempts

Network Indicators:

  • None - local exploit only

SIEM Query:

Search for kernel logs containing 'mali', 'GPU', 'use-after-free', or privilege escalation events from non-privileged users

🔗 References

📤 Share & Export