CVE-2021-41737
High · 7.5CVSS
7.5
EPSS
0.5%
Published
Nov 10, 2024
CISA due date
—
Cloudanix analysis
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
- Craft an input file containing the malicious comment and process definition
- Submit the file to Faust via command line, API, or automated build process
- Trigger parsing that leads to deep recursion and stack exhaustion
- 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
- CVE-2021-41736 Faust v2.35.0 was discovered to contain a heap-buffer overflow in the function… Also affects faust
- CVE-2026-92822 A flaw was found in libmodulemd. CWE-674
- CVE-2026-112895 Pillow is a Python imaging library. CWE-674
- CVE-2026-100354 kin-openapi is a Go project for handling OpenAPI files. CWE-674
- CVE-2026-109267 ImageMagick before 6.9.13-57 and 7.x before 7.1.2-32 contains a stack overflow in the MSL… CWE-674
- CVE-2026-109264 ImageMagick before 6.9.13-57 and 7.x before 7.1.2-32 contains uncontrolled recursion in… CWE-674
- CVE-2026-107678 FFmpeg through 9.0.2 contains a stack exhaustion vulnerability in… CWE-674
- CVE-2026-107208 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-674