CVE-2020-35981

7.8 HIGH

📋 TL;DR

This vulnerability in GPAC multimedia framework allows attackers to cause denial of service or potentially execute arbitrary code by exploiting an invalid pointer dereference in the SetupWriters() function. It affects systems running GPAC versions 0.8.0 and 1.0.1 that process malicious media files. Users and applications that utilize GPAC for media processing are at risk.

💻 Affected Systems

Products:
  • GPAC Multimedia Framework
Versions: 0.8.0 and 1.0.1
Operating Systems: All platforms where GPAC runs (Linux, Windows, macOS, etc.)
Default Config Vulnerable: ⚠️ Yes
Notes: Any application or service using GPAC libraries to process media files is vulnerable. This includes media players, streaming servers, and multimedia processing tools.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if the pointer dereference can be manipulated to execute arbitrary code.

🟠

Likely Case

Application crash and denial of service when processing specially crafted media files.

🟢

If Mitigated

Limited to application crash with proper sandboxing and privilege separation in place.

🌐 Internet-Facing: MEDIUM - Applications that process user-uploaded media files from the internet are vulnerable, but exploitation requires specific file processing.
🏢 Internal Only: LOW - Internal systems not processing untrusted media files have minimal exposure.

🎯 Exploit Status

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

Exploitation requires crafting a malicious media file that triggers the pointer dereference. No public proof-of-concept has been released, but the vulnerability is well-documented in the GPAC repository.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after commit dae9900580a8888969481cd72035408091edb11b

Vendor Advisory: https://github.com/gpac/gpac/commit/dae9900580a8888969481cd72035408091edb11b

Restart Required: Yes

Instructions:

1. Update GPAC to the latest version from the official repository. 2. Recompile any applications using GPAC libraries. 3. Restart services using GPAC.

🔧 Temporary Workarounds

Disable vulnerable media processing

all

Temporarily disable processing of media files through GPAC until patched.

# Disable GPAC services if running as daemon
sudo systemctl stop gpac-service
# Or disable media file uploads in applications

🧯 If You Can't Patch

  • Implement strict input validation for media files and reject suspicious or malformed files.
  • Run GPAC in a sandboxed environment with minimal privileges to limit potential damage.

🔍 How to Verify

Check if Vulnerable:

Check GPAC version: gpac -version. If output shows 0.8.0 or 1.0.1, the system is vulnerable.

Check Version:

gpac -version 2>/dev/null || echo 'GPAC not installed'

Verify Fix Applied:

Update GPAC and verify version is newer than 1.0.1 or includes commit dae9900580a8888969481cd72035408091edb11b.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults in GPAC processes
  • Error logs mentioning isomedia/isom_store.c or SetupWriters()

Network Indicators:

  • Unusual media file uploads to applications using GPAC

SIEM Query:

process_name:gpac AND (event_type:crash OR exit_code:139)

🔗 References

📤 Share & Export