Cloudanix VulnDB

CVE-2023-38583

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Opening a specially made waveform file in an older version of a popular analysis tool can let an attacker take over the computer.

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

Stack-based buffer overflow in LXT2 lxt2_rd_expand_integer_to_bits function allowing arbitrary code execution upon parsing a malformed .lxt2 file.

Why it matters to the business

Attackers can fully compromise analysis workstations or build environments that open untrusted waveform files, resulting in data theft, persistence, or lateral movement with moderate urgency given the age of the disclosure and available public exploits.

How an attack unfolds

An attacker crafts a malicious .lxt2 file that overflows the stack buffer in the integer expansion routine; the victim opens the file in GTKWave 3.3.115, triggering the overflow and allowing the attacker to execute arbitrary code under the privileges of the GTKWave process.

How to fix it

Upgrade GTKWave to the latest available version that resolves the LXT2 parsing issue; if no fixed release exists yet, avoid opening untrusted .lxt2 files and consider sandboxing or alternative waveform viewers until a patch is released.

How to confirm the fix worked

Confirm GTKWave version is newer than 3.3.115, test with known-good and known-malicious LXT2 samples in a controlled environment, and verify absence of the vulnerable expand_integer_to_bits code path via binary analysis or source inspection.

Typical attack path

  1. Craft a specially malformed .lxt2 file that triggers the integer-to-bits expansion overflow
  2. Deliver the file to the target via email, download link, or shared storage
  3. Victim opens the file using GTKWave
  4. Overflow occurs during file parsing, leading to arbitrary code execution

How to detect it

Review system logs and process execution history for GTKWave launches involving externally sourced .lxt2 files; look for segmentation faults, unexpected child processes, or anomalous memory usage immediately after file open events.

  • gtkwave.*\.lxt2
  • lxt2_rd_expand_integer_to_bits
  • segmentation fault.*gtkwave

What your security team should do

  • Immediately restrict opening of .lxt2 files from untrusted sources
  • Monitor for new GTKWave releases and apply the fix as soon as published
  • Add file-type sandboxing or application allow-listing for waveform analysis tools
  • Scan historical .lxt2 artifacts for signs of prior exploitation attempts

The record

A stack-based buffer overflow vulnerability exists in the LXT2 lxt2_rd_expand_integer_to_bits function 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 this vulnerability.

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