CVE-2023-49994
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Dec 12, 2023
CISA due date
—
Cloudanix analysis
A flaw in a speech synthesis tool can make it crash when handling certain sounds, interrupting any service that converts text to voice.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Floating point exception triggered in PeaksToHarmspect at wavegen.c causes the espeak-ng process to terminate abnormally.
Why it matters to the business
Text-to-speech or speech synthesis operations using affected espeak-ng versions can be interrupted by crashes, disrupting accessibility features, automated narration, or voice output pipelines.
How an attack unfolds
An attacker supplies crafted audio or speech synthesis input that reaches the PeaksToHarmspect function in wavegen.c, triggering a floating point exception that crashes the process.
How to fix it
Upgrade espeak-ng to a version that resolves the floating point exception in PeaksToHarmspect; until a fix is released, restrict untrusted input to the library or wrap calls in a crash-resilient service.
How to confirm the fix worked
Reproduce the crash with the original proof-of-concept input after applying updates; confirm the process no longer terminates when the same input is processed.
Typical attack path
- Identify an application or script that invokes espeak-ng for speech synthesis
- Craft input that exercises the vulnerable code path in wavegen.c
- Supply the input via command line, API call, or file to espeak-ng
- Observe process termination due to the floating point exception
How to detect it
Search process and system logs for segmentation or floating point exception signals originating from espeak-ng or the wavegen module; correlate with recent synthesis requests.
- espeak-ng process terminated with SIGFPE
- wavegen.c:PeaksToHarmspect
What your security team should do
- Prioritize upgrade of espeak-ng once a fixed release is available
- Sandbox or isolate espeak-ng invocations that accept external input
- Monitor application logs for abrupt terminations during speech synthesis tasks
The record
Espeak-ng 1.52-dev was discovered to contain a Floating Point Exception via the function PeaksToHarmspect at wavegen.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | espeak-ng | 0 | No fix |
| Debian:12 | espeak-ng | 0 | 1.51+dfsg-10+deb12u1 |
| Debian:13 | espeak-ng | 0 | 1.51+dfsg-12 |
| Mageia:9 | espeak-ng | 0 | 1.51.1-1.1.mga9 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | espeak-ng | 0 | 1.50-150300.3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | espeak-ng | 0 | 1.50-150300.3.3.1 |
| Ubuntu:20.04:LTS | espeak-ng | 0 | 1.50+dfsg-6ubuntu0.1 |
| Ubuntu:22.04:LTS | espeak-ng | 0 | 1.50+dfsg-10ubuntu0.1 |
| Ubuntu:23.10 | espeak-ng | 0 | 1.51+dfsg-11ubuntu0.1 |
| Ubuntu:24.04:LTS | espeak-ng | 0 | 1.51+dfsg-12 |
| Ubuntu:Pro:18.04:LTS | espeak-ng | 0 | 1.49.2+dfsg-1ubuntu0.1~esm1 |
| openSUSE:Leap 15.5 | espeak-ng | 0 | 1.50-150300.3.3.1 |
| openSUSE:Leap 15.6 | espeak-ng | 0 | 1.50-150300.3.3.1 |
| openSUSE:Tumbleweed | espeak-ng | 0 | 1.51.1-1.1 |
Related vulnerabilities
- CVE-2023-49991 Espeak-ng 1.52-dev was discovered to contain a Stack Buffer Underflow via the function… Also affects espeak-ng
- CVE-2023-49990 Espeak-ng 1.52-dev was discovered to contain a buffer-overflow via the function… Also affects espeak-ng
- CVE-2023-49992 Espeak-ng 1.52-dev was discovered to contain a Stack Buffer Overflow via the function… Also affects espeak-ng
- CVE-2023-49993 Espeak-ng 1.52-dev was discovered to contain a Buffer Overflow via the function… Also affects espeak-ng
- CVE-2026-101913 ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in… CWE-697
- CVE-2026-101912 ip-address is a library for parsing and manipulating IPv4 and IPv6 addresses in… CWE-697
- CVE-2026-90711 proxy-addr is a Node.js module that determines a request's client address behind trusted… CWE-697
- CVE-2026-64836 ICEcoder versions through 8.1 contain a path traversal vulnerability in the file-control… CWE-697