Cloudanix VulnDB

CVE-2023-49992

Medium · 5.3

CVSS

5.3

EPSS

0.4%

Published

Dec 12, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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.

Exploit Available
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

  1. Identify an application or service that invokes espeak-ng dictionary loading or text processing
  2. Prepare a crafted dictionary or input containing an oversized entry targeting RemoveEnding
  3. Deliver the input locally to the target system requiring user interaction
  4. Trigger processing to overflow the stack buffer and achieve memory corruption
  5. 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