CVE-2023-37420
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
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.
- 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
- Attacker creates a specially crafted .vcd file exploiting the portdump parsing flaw
- Attacker delivers the file to the victim via email, download, or shared storage
- Victim invokes vcd2lxt on the malicious file
- 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
- 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