CVE-2021-41736

9.8 CRITICAL

📋 TL;DR

CVE-2021-41736 is a heap-buffer overflow vulnerability in Faust's realPropagate() function that allows attackers to execute arbitrary code or cause denial of service. This affects users of Faust v2.35.0 who process untrusted input through the affected function. The vulnerability is particularly dangerous because it can be triggered without authentication.

💻 Affected Systems

Products:
  • Faust
Versions: v2.35.0
Operating Systems: All platforms running Faust
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Faust v2.35.0; earlier and later versions are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Denial of service through application crashes or memory corruption leading to instability.

🟢

If Mitigated

Limited impact if proper input validation and memory protections are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The heap overflow is in a core function and can be triggered via crafted input to Faust applications.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v2.35.1 and later

Vendor Advisory: https://github.com/grame-cncm/faust/issues/653

Restart Required: Yes

Instructions:

1. Update Faust to version 2.35.1 or later. 2. Recompile any Faust applications with the updated version. 3. Restart affected services.

🔧 Temporary Workarounds

Input Validation

all

Implement strict input validation for Faust applications to prevent malicious input from reaching the vulnerable function.

Memory Protection

linux

Enable ASLR and DEP/stack protection on systems to make exploitation more difficult.

sysctl -w kernel.randomize_va_space=2

🧯 If You Can't Patch

  • Isolate Faust applications in network segments with strict access controls.
  • Monitor for abnormal memory usage or crashes in Faust processes.

🔍 How to Verify

Check if Vulnerable:

Check Faust version: faust --version. If output shows 2.35.0, the system is vulnerable.

Check Version:

faust --version

Verify Fix Applied:

After updating, run faust --version to confirm version is 2.35.1 or later.

📡 Detection & Monitoring

Log Indicators:

  • Segmentation fault errors in Faust application logs
  • Abnormal memory allocation patterns

Network Indicators:

  • Unusual network traffic to Faust applications from unexpected sources

SIEM Query:

source="faust.log" AND ("segmentation fault" OR "heap overflow")

🔗 References

📤 Share & Export