CVE-2023-37442
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A problem in a tool used to view hardware signal files can let attackers take control of a computer if someone opens a specially made file.
- 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 read in VCD variable definition parsing within GTKWave allows memory corruption that can be leveraged for arbitrary code execution when a crafted file is processed.
Why it matters to the business
Compromise of analyst workstations or servers running waveform viewing tools can lead to unauthorized code execution, potential data theft, and disruption of hardware verification workflows.
How an attack unfolds
An attacker creates a malformed VCD file containing out-of-bounds variable definitions, then delivers it to a victim who opens the file using the GTKWave GUI; the default VCD parser triggers the read flaw resulting in code execution.
How to fix it
Upgrade GTKWave to the latest available version that resolves the VCD parsing issues; until a patch is released, avoid opening untrusted or externally sourced .vcd files and consider sandboxing the application.
How to confirm the fix worked
Confirm GTKWave version is current, attempt to open known-good and known-malicious test VCD files in an isolated environment, and monitor for application crashes or unexpected behavior during parsing.
Typical attack path
- Craft malicious .vcd file exploiting VCD var section parsing
- Distribute file via email, download link, or shared storage
- Victim opens file through GTKWave GUI
- Parser processes malformed variable definitions triggering out-of-bounds read
- Memory corruption leads to arbitrary code execution
How to detect it
Review system and application logs for GTKWave processes opening .vcd files from unusual locations, unexpected crashes or segfaults during VCD parsing, and any child processes spawned by gtkwave that are not typical for waveform viewing.
- gtkwave.*\.vcd
- segmentation fault.*gtkwave
- VCD parse error
What your security team should do
- Immediately restrict opening of .vcd files from untrusted sources
- Deploy application allow-listing or sandboxing for GTKWave
- Monitor vendor announcements for patch availability and deploy promptly
- Educate hardware and verification teams on risks of opening external waveform files
The record
Multiple out-of-bounds read vulnerabilities exist in the VCD var definition section 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 read when triggered via the GUI's 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
- CVE-2023-39444 Multiple out-of-bounds write vulnerabilities exist in the LXT2 parsing functionality of… Also affects gtkwave
- CVE-2023-39317 Multiple integer overflow vulnerabilities exist in the LXT2 num_dict_entries… Also affects gtkwave
- CVE-2023-39414 Multiple integer underflow vulnerabilities exist in the LXT2 lxt2_rd_iter_radix shift… Also affects gtkwave
- CVE-2023-39413 Multiple integer underflow vulnerabilities exist in the LXT2 lxt2_rd_iter_radix shift… Also affects gtkwave
- CVE-2023-39443 Multiple out-of-bounds write vulnerabilities exist in the LXT2 parsing functionality of… Also affects gtkwave
- CVE-2023-39316 Multiple integer overflow vulnerabilities exist in the LXT2 num_dict_entries… Also affects gtkwave
- CVE-2023-39271 Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing… Also affects gtkwave
- CVE-2023-39273 Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing… Also affects gtkwave