Cloudanix VulnDB

CVE-2023-38653

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 tool for viewing chip design waveforms lets attackers take over a computer if someone opens 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 in VZT vzt_rd_block_vch_decode dict parsing when num_time_ticks is zero leads to memory corruption during .vzt file handling.

Why it matters to the business

Attackers can achieve arbitrary code execution on analyst workstations that process waveform data, risking theft of proprietary designs or lateral movement into engineering environments; low exploit prevalence reduces immediate urgency but unpatched installations remain exposed.

How an attack unfolds

An attacker crafts a malicious .vzt file that sets num_time_ticks to zero, causing an integer overflow during dictionary parsing; the victim opens the file in the affected waveform viewer, triggering memory corruption that can be leveraged for code execution.

How to fix it

Upgrade to a patched release of GTKWave once available from upstream; until then, avoid opening untrusted .vzt files and consider sandboxing or alternative viewers for external waveform data.

How to confirm the fix worked

Confirm exposure by attempting to open a test .vzt with num_time_ticks=0 under a debugger and observing memory corruption; after remediation, verify the parser rejects or safely handles the zero-value case without overflow.

Typical attack path

  1. Craft .vzt file with num_time_ticks set to zero to trigger integer overflow
  2. Deliver file via email, download link, or shared storage to target analyst
  3. Victim opens file in vulnerable GTKWave instance
  4. Parser overflows and corrupts memory, enabling payload execution

How to detect it

Review system and application logs for GTKWave crashes or segmentation faults immediately after .vzt file access; inspect recent file-open events for .vzt files from untrusted sources and correlate with memory-corruption indicators in crash dumps.

  • gtkwave.*vzt_rd_block_vch_decode
  • segmentation fault.*.vzt
  • num_time_ticks

What your security team should do

  • Block or quarantine .vzt attachments at email and file-share gateways until a fix is deployed
  • Inventory all installations of the waveform viewer and prioritize patching when fixed versions are released
  • Train engineering teams to treat external waveform files as untrusted
  • Monitor for GTKWave crashes or memory errors when processing .vzt files

The record

Multiple integer overflow vulnerabilities exist in the VZT vzt_rd_block_vch_decode dict parsing functionality of GTKWave 3.3.115. A specially crafted .vzt file can lead to memory corruption. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the integer overflow when num_time_ticks is zero.

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