Cloudanix VulnDB

CVE-2023-37573

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A specially made circuit waveform file can take over your computer if you open it in GTKWave.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Remote Code Execution
Component
Application
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in the VCD get_vartoken realloc path of the default recoder parser allows an attacker-controlled .vcd file to corrupt heap state and achieve arbitrary code execution when the victim opens the file via the GTKWave GUI.

Why it matters to the business

Engineers and hardware teams that routinely open third-party waveform files risk silent compromise of their workstations, enabling data theft, supply-chain tampering, or further lateral movement inside design environments.

How an attack unfolds

An attacker creates a malicious .vcd file that triggers the use-after-free during recoder-mode parsing of variable tokens; the victim opens the file in GTKWave 3.3.115, the parser reallocates and frees memory while still referencing it, and attacker-controlled data is written into the freed chunk to hijack control flow.

How to fix it

Upgrade GTKWave to the first version containing a fix for the VCD recoder parser (currently unavailable in the provided data); until a patched build is released, open only trusted .vcd files inside a sandboxed or virtualized environment and consider disabling the recoder parser if an option exists.

How to confirm the fix worked

Confirm GTKWave version is newer than 3.3.115 and test that the recoder code path no longer dereferences freed memory when processing known-triggering .vcd samples; monitor upstream commits for the corrected realloc logic.

Typical attack path

  1. Craft a .vcd file that exercises the get_vartoken realloc path under recoder parsing
  2. Host or email the file to a target who uses GTKWave for waveform inspection
  3. Victim opens the file through the GUI
  4. Use-after-free triggers during token processing
  5. Arbitrary code execution on the local workstation

How to detect it

Review file-open logs and EDR telemetry for gtkwave processes loading .vcd files from untrusted locations; correlate with subsequent suspicious process creation, memory allocation anomalies, or crashes inside the recoder parser.

  • gtkwave
  • .vcd

What your security team should do

  • Treat any untrusted .vcd file as a potential exploit carrier and enforce sandbox execution for GTKWave
  • Block or heavily scrutinize inbound .vcd attachments at mail and file-sharing gateways
  • Watch for future fixed versions from the GTKWave project and expedite deployment once released
  • Add gtkwave to the list of high-risk engineering tools requiring application allow-listing or EDR coverage

The record

Multiple use-after-free vulnerabilities exist in the VCD get_vartoken realloc functionality of GTKWave 3.3.115. A specially crafted .vcd file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the use-after-free when triggered via the GUI's recoder (default) VCD parsing code.

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