CVE-2023-49991
Medium · 5.3CVSS
5.3
EPSS
0.4%
Published
Dec 12, 2023
CISA due date
—
Cloudanix analysis
A problem in speech synthesis software can let someone who tricks a user into opening bad data slightly affect files or stability on that computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Other
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack buffer underflow in CountVowelPosition at synthdata.c allows out-of-bounds memory access during vowel position counting, enabling limited memory corruption.
Why it matters to the business
Applications using this text-to-speech library may crash or expose limited data when processing untrusted input, increasing support costs and potential compliance issues for organizations relying on speech synthesis.
How an attack unfolds
An attacker supplies specially crafted input data to espeak-ng that triggers the vulnerable vowel counting routine, causing the underflow and allowing controlled memory reads or writes on the local system.
How to fix it
Upgrade to a patched version of espeak-ng once released by upstream maintainers; in the interim, restrict processing of untrusted input and consider alternative TTS libraries.
How to confirm the fix worked
Compile a test build with address sanitizer enabled and feed crafted inputs that previously triggered the underflow; confirm absence of crashes or sanitizer reports after applying updates.
Typical attack path
- Identify a target system running espeak-ng that processes user-supplied text or configuration files
- Craft input containing malformed vowel data to reach CountVowelPosition
- Deliver the malicious input via file, command line, or application integration
- Trigger processing to induce the stack underflow and achieve limited memory corruption
How to detect it
Review application logs and crash reports for segmentation faults or memory errors originating from synthdata.c during text processing; examine process memory dumps for anomalous access patterns around vowel handling routines.
What your security team should do
- Inventory all systems and containers using espeak-ng and prioritize updates
- Block or sandbox untrusted text processing workflows until fixed
- Monitor upstream espeak-ng releases for the corrective patch
The record
Espeak-ng 1.52-dev was discovered to contain a Stack Buffer Underflow via the function CountVowelPosition at synthdata.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 |
Related vulnerabilities
- CVE-2023-49994 Espeak-ng 1.52-dev was discovered to contain a Floating Point Exception 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-111497 A buffer overflow vulnerability in the Brotli decoder (c/dec/decode.c) in Google Brotli… CWE-787
- CVE-2026-112397 Pillow is a Python imaging library. CWE-787
- CVE-2026-112059 libLAS through 1.8.1 contains a heap out-of-bounds write vulnerability in the point… CWE-787
- CVE-2026-89088 A flaw was found in parted. CWE-787