Cloudanix VulnDB

CVE-2023-39272

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a popular waveform viewer program lets attackers take over a computer simply by getting someone to open a specially made data file.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Full Compromise
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow when allocating the lsb array during LXT2 facgeometry parsing leads to memory corruption that can be leveraged for arbitrary code execution.

Why it matters to the business

Attackers can fully compromise user workstations running GTKWave by delivering a malicious waveform file, enabling data theft, persistence, or further network access with no patch currently published.

How an attack unfolds

An attacker crafts a .lxt2 file that triggers the integer overflow in facgeometry parsing. The victim opens the file in GTKWave, the overflow corrupts memory structures, and attacker-controlled data is written into executable regions to achieve code execution.

How to fix it

Upgrade to a patched release of GTKWave once available; until then restrict opening of untrusted .lxt2 files and run the application under sandboxing or least-privilege constraints.

How to confirm the fix worked

Confirm GTKWave version and test file handling behavior against known proof-of-concept .lxt2 samples; monitor vendor advisories for fixed builds.

Typical attack path

  1. Craft .lxt2 file containing malformed facgeometry data to induce lsb array integer overflow
  2. Deliver file to target via email, download link, or shared storage
  3. Victim opens file in vulnerable GTKWave instance
  4. Overflow during allocation allows memory corruption and subsequent arbitrary code execution

How to detect it

Review endpoint logs and EDR telemetry for GTKWave process crashes, unexpected memory allocations, or child process creation immediately after .lxt2 file access.

What your security team should do

  • Block or sandbox GTKWave execution on untrusted .lxt2 files until a patch is released
  • Add file-type filtering and user education to reduce accidental opening of malicious waveform files
  • Hunt for GTKWave crashes or anomalous child processes in endpoint telemetry

The record

Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing functionality of GTKWave 3.3.115. A specially crafted .lxt2 file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the integer overflow when allocating the `lsb` array.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 gtkwave 0 3.3.98+really3.3.118-0+deb10u1
Debian:11 gtkwave 0 3.3.104+really3.3.118-0+deb11u1
Debian:12 gtkwave 0 3.3.118-0.1~deb12u1
Debian:13 gtkwave 0 3.3.118-0.1
Ubuntu:16.04:LTS gtkwave 0 No fix
Ubuntu:18.04:LTS gtkwave 0 No fix
Ubuntu:20.04:LTS gtkwave 0 No fix
Ubuntu:22.04:LTS gtkwave 0 No fix
Ubuntu:24.04:LTS gtkwave 0 No fix
Ubuntu:24.10 gtkwave 0 No fix
Ubuntu:25.04 gtkwave 0 No fix
Ubuntu:25.10 gtkwave 0 No fix
Ubuntu:Pro:16.04:LTS gtkwave 0 No fix
Ubuntu:Pro:18.04:LTS gtkwave 0 No fix
Ubuntu:Pro:20.04:LTS gtkwave 0 No fix

Related vulnerabilities