Cloudanix VulnDB

CVE-2021-41737

High · 7.5

CVSS

7.5

EPSS

0.5%

Published

Nov 10, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in Faust lets attackers crash the program by feeding it certain specially made files, which can interrupt audio or build tasks until the program is restarted.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Application
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Specially crafted input files trigger unbounded stack consumption during parsing of comments and route expressions, resulting in stack exhaustion and denial of service.

Why it matters to the business

Processing pipelines or build systems using Faust become unavailable when handling untrusted inputs, interrupting audio synthesis workflows and requiring manual restarts or resource limits.

How an attack unfolds

An attacker creates an input file containing the specific comment and route patterns and supplies it to any Faust invocation that parses the file; the parser recurses excessively until the stack is exhausted.

How to fix it

Upgrade to a patched Faust release once available; in the interim, reject or sanitize untrusted input files before they reach the parser and enforce stack-size limits on Faust processes.

How to confirm the fix worked

Test the fixed version with the original proof-of-concept input to confirm absence of stack growth; monitor process memory and stack usage during parsing of known-bad files.

Typical attack path

  1. Craft an input file containing the malicious comment and process definition
  2. Submit the file to Faust via command line, API, or automated build process
  3. Trigger parsing that leads to deep recursion and stack exhaustion
  4. Cause the process to terminate or become unresponsive

How to detect it

Review application and system logs for sudden Faust process terminations or segmentation faults when processing input files; correlate with file-upload or build events containing large numeric literals or route expressions.

What your security team should do

  • Block untrusted Faust input files from automated pipelines until a patch is deployed
  • Apply operating-system or container resource limits to cap stack usage for Faust processes
  • Add input validation or sandboxing around Faust invocations handling external content

The record

In Faust 2.23.1, an input file with the lines "// r visualisation tCst" and "//process = +: L: abM-^Q;" and "process = route(3333333333333333333,2,1,2,3,1) : *;" leads to stack consumption.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 faust 0 No fix
Debian:12 faust 0 No fix
Debian:13 faust 0 No fix
Ubuntu:16.04:LTS faust 0 No fix
Ubuntu:18.04:LTS faust 0 No fix
Ubuntu:20.04:LTS faust 0 No fix
Ubuntu:22.04:LTS faust 0 No fix
Ubuntu:24.04:LTS faust 0 No fix
Ubuntu:24.10 faust 0 No fix
Ubuntu:25.04 faust 0 No fix
Ubuntu:25.10 faust 0 No fix
Ubuntu:Pro:16.04:LTS faust 0 No fix
Ubuntu:Pro:18.04:LTS faust 0 No fix
Ubuntu:Pro:20.04:LTS faust 0 No fix

Related vulnerabilities