CVE-2021-32294

8.8 HIGH

📋 TL;DR

CVE-2021-32294 is a heap buffer overflow vulnerability in libgig's RIFF::List::GetSubList function that allows attackers to execute arbitrary code. This affects applications using libgig for audio file processing. Attackers can exploit this by providing specially crafted audio files.

💻 Affected Systems

Products:
  • libgig
  • applications using libgig library
Versions: All versions through 20200507
Operating Systems: Linux, Windows, macOS, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: Any application that uses libgig to process RIFF audio files (like .wav, .aiff) is vulnerable when handling untrusted files.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the privileges of the application using libgig, potentially leading to complete system compromise.

🟠

Likely Case

Application crash (denial of service) or limited code execution depending on exploit sophistication.

🟢

If Mitigated

Application crash with no code execution if exploit fails or mitigations like ASLR/DEP are effective.

🌐 Internet-Facing: MEDIUM - Requires user interaction (opening malicious file) or server processing untrusted audio files.
🏢 Internal Only: MEDIUM - Similar risk profile but limited to internal users accessing malicious files.

🎯 Exploit Status

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

Exploitation requires crafting malicious audio files. Public proof-of-concept exists in GitHub issues.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 20200507

Vendor Advisory: https://github.com/drbye78/libgig/issues/1

Restart Required: Yes

Instructions:

1. Update libgig to version after 20200507. 2. Recompile applications using libgig. 3. Restart affected applications/services.

🔧 Temporary Workarounds

Input validation

all

Implement strict validation of audio files before processing with libgig

Library isolation

all

Run applications using libgig in sandboxed/containerized environments

🧯 If You Can't Patch

  • Restrict file upload/processing capabilities for untrusted audio files
  • Implement application allowlisting to prevent unauthorized applications from using libgig

🔍 How to Verify

Check if Vulnerable:

Check libgig version: 'gig-config --version' or check package manager. If version ≤ 20200507, vulnerable.

Check Version:

gig-config --version 2>/dev/null || dpkg -l | grep libgig || rpm -qa | grep libgig

Verify Fix Applied:

Confirm libgig version > 20200507 and test with known malicious audio files.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes when processing audio files
  • Segmentation faults in libgig-related processes

Network Indicators:

  • Unusual outbound connections after audio file processing
  • File uploads to audio processing endpoints

SIEM Query:

process_name:libgig AND (event_type:crash OR signal:sigsegv)

🔗 References

📤 Share & Export