CVE-2021-35072

7.8 HIGH

📋 TL;DR

This vulnerability allows attackers to execute arbitrary code or cause denial of service on Qualcomm Snapdragon devices by sending specially crafted DIAG commands. It affects various Snapdragon platforms including automotive, consumer IoT, industrial IoT, mobile, voice & music, and wearables. The buffer overflow occurs due to improper validation of array indexes when processing external diagnostic commands.

💻 Affected Systems

Products:
  • Snapdragon Auto
  • Snapdragon Consumer IOT
  • Snapdragon Industrial IOT
  • Snapdragon Mobile
  • Snapdragon Voice & Music
  • Snapdragon Wearables
Versions: Multiple chipset versions across these product lines
Operating Systems: Android-based systems and other embedded OS using affected Snapdragon chips
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability requires access to DIAG interface which may be enabled by default on some devices for debugging purposes.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete device compromise, data theft, or persistent backdoor installation.

🟠

Likely Case

Denial of service causing device crashes or instability, potentially requiring physical reset.

🟢

If Mitigated

Limited impact if DIAG interface is disabled or properly firewalled, with only denial of service possible.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires sending malformed DIAG commands to the vulnerable interface, which may require physical access or network access to exposed diagnostic ports.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Varies by specific chipset and device manufacturer

Vendor Advisory: https://www.qualcomm.com/company/product-security/bulletins/may-2022-bulletin

Restart Required: Yes

Instructions:

1. Check with device manufacturer for firmware updates. 2. Apply Qualcomm-provided patches through OEM update channels. 3. Reboot device after update installation.

🔧 Temporary Workarounds

Disable DIAG Interface

android

Disable external diagnostic interface to prevent exploitation

adb shell setprop sys.usb.config none
adb shell setprop persist.sys.usb.config none

Restrict DIAG Access

linux

Configure firewall rules to block access to DIAG ports

iptables -A INPUT -p tcp --dport 9200 -j DROP
iptables -A INPUT -p udp --dport 9200 -j DROP

🧯 If You Can't Patch

  • Disable USB debugging and diagnostic modes on all affected devices
  • Implement network segmentation to isolate devices with DIAG interfaces enabled

🔍 How to Verify

Check if Vulnerable:

Check device firmware version against manufacturer's patched versions list

Check Version:

adb shell getprop ro.build.version.security_patch

Verify Fix Applied:

Verify firmware version has been updated to patched release from device manufacturer

📡 Detection & Monitoring

Log Indicators:

  • Unexpected DIAG command processing
  • Device crashes or reboots
  • Memory corruption errors in system logs

Network Indicators:

  • Unusual traffic to DIAG ports (typically 9200)
  • Malformed diagnostic protocol packets

SIEM Query:

source="*kernel*" AND "panic" OR "oops" AND "diag" OR "diagnostic"

🔗 References

📤 Share & Export