CVE-2023-43546

8.4 HIGH

📋 TL;DR

This vulnerability allows memory corruption when invoking the HGSL IOCTL context create function in Qualcomm GPU drivers. Attackers could potentially execute arbitrary code with kernel privileges. Affected systems include devices using vulnerable Qualcomm GPU drivers.

💻 Affected Systems

Products:
  • Qualcomm Adreno GPU drivers
  • Devices with Qualcomm Snapdragon processors
Versions: Specific versions not detailed in provided references; check Qualcomm March 2024 bulletin for exact versions.
Operating Systems: Android, Linux-based systems using Qualcomm GPU drivers
Default Config Vulnerable: ⚠️ Yes
Notes: Affects systems where user applications can access GPU device nodes (/dev/kgsl-3d0 typically).

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with kernel-level code execution, allowing complete control over the device, data theft, and persistence.

🟠

Likely Case

Local privilege escalation from a compromised user application to kernel privileges, enabling further system exploitation.

🟢

If Mitigated

Limited impact with proper kernel hardening, SELinux/AppArmor policies, and restricted user access to GPU devices.

🌐 Internet-Facing: LOW - This is a local vulnerability requiring access to the GPU device interface.
🏢 Internal Only: HIGH - Malicious applications or compromised user accounts could exploit this for privilege escalation.

🎯 Exploit Status

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

Requires local access and ability to interact with GPU device interface. Memory corruption vulnerabilities often lead to reliable exploitation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check Qualcomm March 2024 security bulletin for specific patched driver versions.

Vendor Advisory: https://www.qualcomm.com/company/product-security/bulletins/march-2024-bulletin

Restart Required: Yes

Instructions:

1. Check device manufacturer for firmware/OS updates. 2. Apply Qualcomm GPU driver updates from device vendor. 3. Reboot device after update installation.

🔧 Temporary Workarounds

Restrict GPU device access

linux

Limit access to GPU device nodes to prevent user applications from triggering the vulnerable IOCTL.

chmod 600 /dev/kgsl-3d0
setenforce 1 (if using SELinux)

🧯 If You Can't Patch

  • Implement strict application sandboxing to prevent untrusted apps from accessing GPU interfaces.
  • Use kernel hardening features like SELinux/AppArmor with restrictive policies for GPU device access.

🔍 How to Verify

Check if Vulnerable:

Check GPU driver version against Qualcomm's March 2024 bulletin. Command: 'dmesg | grep -i adreno' or check /sys/class/kgsl/kgsl-3d0/version.

Check Version:

cat /sys/class/kgsl/kgsl-3d0/version 2>/dev/null || dmesg | grep -i 'adreno.*version'

Verify Fix Applied:

Verify updated GPU driver version matches patched version from Qualcomm advisory.

📡 Detection & Monitoring

Log Indicators:

  • Kernel logs showing GPU driver crashes or memory corruption errors
  • Suspicious IOCTL calls to GPU device nodes

Network Indicators:

  • None - this is a local vulnerability

SIEM Query:

source="kernel" AND ("kgsl" OR "adreno" OR "GPU") AND ("corruption" OR "panic" OR "oops")

🔗 References

📤 Share & Export