CVE-2021-32277

7.8 HIGH

📋 TL;DR

This vulnerability in faad2 audio decoding library allows heap buffer overflow in the sbr_qmf_analysis_32 function, potentially enabling remote code execution when processing malicious audio files. It affects systems using faad2 versions through 2.10.0 for audio decoding. Attackers could exploit this by tricking users into opening specially crafted audio files.

💻 Affected Systems

Products:
  • faad2
  • applications using faad2 library (audio players, media servers, converters)
Versions: faad2 versions through 2.10.0
Operating Systems: Linux, Windows, macOS, BSD systems
Default Config Vulnerable: ⚠️ Yes
Notes: Any application linking against vulnerable faad2 library versions is affected when processing AAC audio files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full remote code execution with attacker gaining control of the affected system, potentially leading to complete system compromise, data theft, or lateral movement within the network.

🟠

Likely Case

Application crash (denial of service) or limited code execution within the context of the audio processing application, potentially allowing file system access or further exploitation.

🟢

If Mitigated

Application crash with no code execution if memory protections (ASLR, DEP) are effective, but still causing service disruption.

🌐 Internet-Facing: MEDIUM - Requires user interaction (opening malicious audio file) or integration into web services that process audio uploads.
🏢 Internal Only: LOW - Primarily affects client-side applications processing local audio files rather than network services.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires crafting malicious AAC audio files. Public proof-of-concept exists in GitHub issue #59. No authentication required to trigger the vulnerability when processing files.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: faad2 version 2.10.1 and later

Vendor Advisory: https://github.com/knik0/faad2/issues/59

Restart Required: Yes

Instructions:

1. Update faad2 to version 2.10.1 or later using your package manager. 2. For Debian/Ubuntu: apt update && apt upgrade faad2. 3. For source installations: Download latest from GitHub and rebuild. 4. Restart affected applications/services.

🔧 Temporary Workarounds

Disable AAC audio processing

all

Temporarily disable AAC audio file processing in affected applications until patched

Application-specific configuration changes required

Use alternative audio decoder

all

Configure applications to use alternative AAC decoders instead of faad2

Application-specific configuration changes required

🧯 If You Can't Patch

  • Implement strict file upload validation for web services processing audio files
  • Deploy memory protection mechanisms (ASLR, DEP) and monitor for crash events

🔍 How to Verify

Check if Vulnerable:

Check faad2 version: faad --version or dpkg -l | grep faad2 or rpm -qa | grep faad2

Check Version:

faad --version 2>/dev/null || dpkg -l | grep faad2 || rpm -qa | grep faad2

Verify Fix Applied:

Verify version is 2.10.1 or later: faad --version should show 2.10.1+

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults in faad2 processes
  • Memory access violation errors in application logs

Network Indicators:

  • Unusual audio file uploads to web services
  • Large number of AAC file processing attempts

SIEM Query:

Process:faad2 AND (EventID:1000 OR Signal:SIGSEGV) OR FileType:AAC AND Upload:Success

🔗 References

📤 Share & Export