Cloudanix VulnDB

CVE-2023-49991

Medium · 5.3

CVSS

5.3

EPSS

0.4%

Published

Dec 12, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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.

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

  1. Identify a target system running espeak-ng that processes user-supplied text or configuration files
  2. Craft input containing malformed vowel data to reach CountVowelPosition
  3. Deliver the malicious input via file, command line, or application integration
  4. 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