CVE-2021-35104

9.8 CRITICAL

📋 TL;DR

This vulnerability allows remote attackers to execute arbitrary code on affected Qualcomm Snapdragon devices by exploiting a buffer overflow in the FLAC audio header parser. Attackers can trigger this by tricking users into playing a malicious FLAC audio file. The vulnerability affects a wide range of Qualcomm-powered devices across automotive, IoT, wearables, and networking products.

💻 Affected Systems

Products:
  • Snapdragon Auto
  • Snapdragon Compute
  • Snapdragon Connectivity
  • Snapdragon Consumer IOT
  • Snapdragon Industrial IOT
  • Snapdragon Voice & Music
  • Snapdragon Wearables
  • Snapdragon Wired Infrastructure and Networking
Versions: Specific chipset versions not detailed in public advisory; affected by firmware/software using vulnerable FLAC parsing libraries
Operating Systems: Android, Linux-based embedded systems, Other Qualcomm-supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in the FLAC audio codec implementation within Qualcomm's audio processing components. Devices must have FLAC playback capability enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with full system compromise, potentially allowing attackers to take complete control of affected devices, steal sensitive data, or deploy persistent malware.

🟠

Likely Case

Remote code execution leading to application crashes, denial of service, or limited privilege escalation depending on the context of the vulnerable audio processing component.

🟢

If Mitigated

Application crash or denial of service if exploit attempts are blocked by memory protection mechanisms, but no code execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires user interaction to play a malicious FLAC file, but no authentication is needed once the file is processed. The buffer overflow nature suggests reliable exploitation is possible with proper crafting.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Refer to Qualcomm's April 2022 security bulletin for specific chipset/firmware versions

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

Restart Required: Yes

Instructions:

1. Check Qualcomm's April 2022 security bulletin for your specific chipset. 2. Contact your device manufacturer for firmware updates. 3. Apply the firmware update following manufacturer instructions. 4. Reboot the device after update completion.

🔧 Temporary Workarounds

Disable FLAC playback

all

Remove or disable FLAC audio codec support to prevent processing of malicious FLAC files

Specific commands depend on device configuration and OS; consult manufacturer documentation

Application sandboxing

linux

Run audio processing components with reduced privileges to limit impact of potential exploitation

Implement SELinux/AppArmor policies to restrict audio service permissions

🧯 If You Can't Patch

  • Network segmentation to isolate vulnerable devices from untrusted networks
  • Implement application allowlisting to prevent execution of unauthorized code

🔍 How to Verify

Check if Vulnerable:

Check device firmware version against Qualcomm's patched versions in the April 2022 bulletin. Use 'getprop ro.build.fingerprint' on Android or similar system queries on other platforms.

Check Version:

Platform-specific: Android: 'getprop ro.build.fingerprint' or 'getprop ro.build.version.security_patch'; Linux: check /proc/version or manufacturer-specific version files

Verify Fix Applied:

Confirm firmware version has been updated to a patched version listed in Qualcomm's advisory. Test FLAC playback functionality to ensure it still works without crashes.

📡 Detection & Monitoring

Log Indicators:

  • Audio service crashes
  • FLAC parsing errors in system logs
  • Memory access violation logs

Network Indicators:

  • Unexpected FLAC file transfers to devices
  • Network traffic patterns suggesting exploit delivery

SIEM Query:

Example: 'event_category:application_crash AND process_name:audio* OR codec*' combined with file_type:flac indicators

🔗 References

📤 Share & Export