Cloudanix VulnDB

CVE-2023-38650

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in a popular waveform viewing program can let someone take over your computer if you 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 during VZT times parsing when num_time_ticks is nonzero leads to memory corruption in GTKWave's vzt_rd_block_vch_decode function.

Why it matters to the business

Attackers can achieve arbitrary code execution on analyst workstations that process untrusted waveform files, potentially exposing proprietary design data or enabling lateral movement.

How an attack unfolds

An attacker crafts a malicious VZT file that triggers an integer overflow in the num_time_ticks handling path. The victim opens the file with GTKWave, causing memory corruption that the attacker leverages for code execution.

How to fix it

Upgrade GTKWave to a version that corrects the VZT parsing integer overflows. Until a fixed release is available, do not open VZT files from untrusted sources and consider sandboxing the application.

How to confirm the fix worked

Confirm the installed GTKWave version is newer than 3.3.115 and test that crafted VZT samples no longer trigger crashes or corruption in vzt_rd_block_vch_decode.

Typical attack path

  1. Attacker generates a VZT file with crafted num_time_ticks values
  2. Attacker delivers the file via email, download, or shared storage
  3. Victim opens the file in GTKWave
  4. Integer overflow occurs during block decoding
  5. Memory corruption is exploited to execute attacker-controlled code

How to detect it

Review file-open logs and process creation events for GTKWave invocations involving externally sourced VZT files; look for crashes or unexpected memory allocations during VZT decoding.

What your security team should do

  • Block opening of .vzt files from external sources until patched
  • Monitor for GTKWave updates and deploy immediately when available
  • Add application sandboxing or execution restrictions for waveform viewers

The record

Multiple integer overflow vulnerabilities exist in the VZT vzt_rd_block_vch_decode times 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 not 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