Cloudanix VulnDB

CVE-2023-35004

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A specially made waveform file can let an attacker take over a computer when someone opens it with GTKWave.

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 in VZT longest_len value allocation leads to undersized buffer and subsequent memory corruption, enabling arbitrary code execution upon opening a crafted file.

Why it matters to the business

Systems used for hardware simulation and signal analysis become susceptible to full compromise when users open malicious waveform files, increasing risk of data theft or persistent access in engineering environments.

How an attack unfolds

An attacker crafts a .vzt file that supplies an oversized longest_len value to trigger the integer overflow during allocation. The victim opens the file in GTKWave, causing memory corruption that a public exploit can turn into arbitrary code execution.

How to fix it

Upgrade GTKWave to a version containing the fix for the VZT allocation overflow. Until a patch is available, disable VZT support if possible or open files only inside a sandboxed or virtualized environment.

How to confirm the fix worked

Confirm GTKWave version exceeds the vulnerable release; attempt to parse known-malicious test files in an isolated environment and verify absence of crashes or unexpected memory behavior.

Typical attack path

  1. Craft malicious .vzt file containing oversized longest_len value
  2. Distribute file via email, download link, or shared storage
  3. Victim opens file in vulnerable GTKWave instance
  4. Integer overflow causes heap corruption and attacker code execution

How to detect it

Review system and application logs for GTKWave crashes or segmentation faults immediately after VZT file access; correlate with file creation or download events involving .vzt extensions.

What your security team should do

  • Apply available GTKWave updates immediately across all analyst workstations
  • Block or quarantine untrusted .vzt files at email and file-share gateways
  • Restrict GTKWave execution to sandboxed or virtual desktop environments
  • Add file-type and hash-based alerts for VZT files received from external sources

The record

An integer overflow vulnerability exists in the VZT longest_len value allocation 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 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