CVE-2023-37445
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in a popular circuit-viewing tool can let an attacker take over the computer.
- 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 the VCD var definition section handler of the vcd2vzt conversion utility allows an attacker-supplied .vcd file to corrupt memory and achieve arbitrary code execution.
Why it matters to the business
Users who open untrusted waveform files with GTKWave or its conversion tools risk complete compromise of the local workstation, potentially exposing proprietary hardware designs and enabling lateral movement in engineering environments.
How an attack unfolds
An attacker crafts a malicious .vcd file that triggers an out-of-bounds write when processed by vcd2vzt; the victim opens the file or runs the conversion utility, causing the process to execute attacker-controlled code.
How to fix it
Upgrade GTKWave to the latest available version that resolves the VCD parsing issues; until a fix is released, avoid processing untrusted .vcd files with vcd2vzt and run the utility inside a sandbox or virtual machine.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test that vcd2vzt rejects or safely handles the previously crashing VCD sample; monitor vendor release notes for the patch.
Typical attack path
- Attacker generates specially crafted .vcd file exploiting the var definition parsing flaw
- Victim receives the file via email, download, or shared storage
- Victim invokes GTKWave or vcd2vzt on the file
- Out-of-bounds write occurs during parsing, leading to code execution
How to detect it
Search process-creation logs for vcd2vzt invocations on files originating outside the organization; inspect crash dumps or segmentation-fault records containing GTKWave or vcd2vzt for memory-corruption signatures.
What your security team should do
- Block or quarantine untrusted .vcd and .vzt files at email and file-share gateways
- Restrict use of vcd2vzt to isolated analysis hosts until a fixed build is deployed
- Add GTKWave to the organization's application allow-list with mandatory sandbox execution
- Subscribe to GTKWave release announcements for prompt patching
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 write when triggered via the vcd2vzt 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