Cloudanix VulnDB

CVE-2023-37420

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 tool for viewing chip signal files can let attackers take over a computer if someone opens a harmful file made by an attacker.

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

Out-of-bounds write in VCD parse_valuechange portdump handling within the vcd2lxt utility allows arbitrary code execution when processing a malicious .vcd file.

Why it matters to the business

Attackers can achieve code execution on systems where users open untrusted waveform files with the conversion utility, potentially leading to compromise of engineering workstations and intellectual property exposure in hardware design environments.

How an attack unfolds

An attacker crafts a malicious .vcd file that triggers an out-of-bounds write during value-change parsing in vcd2lxt; the victim opens the file with the conversion utility, causing memory corruption that results in arbitrary code execution on the local system.

How to fix it

Avoid processing untrusted .vcd files with vcd2lxt until a patched version of GTKWave is available; consider disabling or removing the conversion utility from environments that handle external waveform data.

How to confirm the fix worked

Confirm GTKWave is updated past the vulnerable 3.3.115 release and test that vcd2lxt no longer crashes or executes code on known-malicious test files.

Typical attack path

  1. Attacker creates a specially crafted .vcd file exploiting the portdump parsing flaw
  2. Attacker delivers the file to the victim via email, download, or shared storage
  3. Victim invokes vcd2lxt on the malicious file
  4. Out-of-bounds write occurs leading to arbitrary code execution

How to detect it

Review process execution logs and file-access records for invocations of vcd2lxt against externally sourced .vcd files; look for unexpected crashes or child processes spawned from the utility.

What your security team should do

  • Block or sandbox use of vcd2lxt on untrusted inputs until a fix is released
  • Monitor for new GTKWave releases addressing the memory corruption
  • Educate hardware and verification teams on risks of opening external waveform files

The record

Multiple out-of-bounds write vulnerabilities exist in the VCD parse_valuechange portdump 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 out-of-bounds write when triggered via the vcd2lxt conversion utility.

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