Cloudanix VulnDB

CVE-2023-38623

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 the GTKWave viewer 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

Integer overflow during allocation of the vindex_offset array in VZT facgeometry parsing leads to memory corruption that enables arbitrary code execution.

Why it matters to the business

Compromise of user workstations running the affected waveform viewer when a malicious file is opened, enabling full system takeover with no patch currently published.

How an attack unfolds

An attacker crafts a VZT file that triggers the integer overflow in facgeometry parsing; when a victim opens the file in GTKWave the overflow corrupts heap memory and redirects execution to attacker-controlled code. Public exploit code is available.

How to fix it

Update to a patched version of GTKWave once released; in the interim avoid opening untrusted .vzt files and run the application under least-privilege or sandboxed conditions.

How to confirm the fix worked

Verify GTKWave version is newer than 3.3.115 and test that a known-malicious VZT sample no longer triggers the overflow or crashes the process.

Typical attack path

  1. Craft malicious .vzt file containing oversized facgeometry data
  2. Deliver file via email, download link, or shared storage
  3. Victim opens file in vulnerable GTKWave instance
  4. Integer overflow occurs during vindex_offset allocation
  5. Memory corruption leads to arbitrary code execution

How to detect it

Inspect process crash logs or memory dumps for heap corruption patterns immediately after opening a VZT file; correlate file-open events with subsequent unexpected process behavior or network activity.

What your security team should do

  • Block untrusted .vzt files at email gateways and file-sharing services
  • Monitor for new GTKWave releases and deploy immediately upon availability
  • Restrict execution of GTKWave to isolated analysis environments

The record

Multiple integer overflow vulnerabilities exist in the VZT facgeometry parsing functionality of GTKWave 3.3.115. A specially crafted .vzt 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 `vindex_offset` 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