CVE-2023-49992
Medium · 5.3CVSS
5.3
EPSS
0.4%
Published
Dec 12, 2023
CISA due date
—
Cloudanix analysis
A flaw in a popular speech-synthesis tool can let someone who supplies specially made text cause crashes or limited unauthorized actions on the same computer after the user triggers processing.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack buffer overflow in RemoveEnding function of dictionary.c allows memory corruption via oversized or malformed dictionary input during text processing.
Why it matters to the business
Applications using espeak-ng for speech synthesis risk crashes or limited local code execution when handling untrusted inputs, disrupting accessibility features or embedded voice services; the issue has remained unpatched for over 1000 days with public exploits available despite low observed exploitation rates.
How an attack unfolds
An attacker crafts a malicious dictionary file or input string that triggers RemoveEnding with data exceeding the allocated stack buffer, causing overflow and potential control-flow hijacking on the local system after user-initiated processing.
How to fix it
Upgrade espeak-ng to the latest available version once a fix is released; in the interim, restrict processing of untrusted dictionary files or external inputs and consider alternative TTS engines where feasible.
How to confirm the fix worked
Confirm current espeak-ng version against the vulnerable 1.52-dev release; test with known proof-of-concept inputs that previously triggered RemoveEnding overflow and verify absence of crashes or memory errors under sanitizers.
Typical attack path
- Identify an application or service that invokes espeak-ng dictionary loading or text processing
- Prepare a crafted dictionary or input containing an oversized entry targeting RemoveEnding
- Deliver the input locally to the target system requiring user interaction
- Trigger processing to overflow the stack buffer and achieve memory corruption
- Leverage corruption for limited code execution or denial of service
How to detect it
Review application and system logs for crashes or segmentation faults during espeak-ng dictionary or text processing; inspect process dumps for stack corruption patterns around RemoveEnding calls.
What your security team should do
- Inventory all systems and applications shipping or depending on espeak-ng
- Apply updates immediately upon release of fixed versions
- Implement input sanitization or sandboxing for dictionary processing workflows
- Monitor for new upstream patches and EPSS score increases
The record
Espeak-ng 1.52-dev was discovered to contain a Stack Buffer Overflow via the function RemoveEnding at dictionary.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-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-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