CVE-2023-37444
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 circuit waveforms can let attackers take over your computer if you open a specially made file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds read in the VCD variable definition parsing code allows a malicious .vcd file opened through the GUI to corrupt memory and achieve arbitrary code execution.
Why it matters to the business
An attacker who convinces a user to open a crafted waveform file can gain full control of the workstation, leading to data theft, ransomware deployment, or lateral movement with moderate urgency given the low EPSS and lack of known exploitation campaigns.
How an attack unfolds
An attacker creates a specially crafted .vcd file that triggers an out-of-bounds read during interactive VCD parsing; the file is delivered to a victim who opens it in GTKWave, causing memory corruption that the attacker turns into code execution.
How to fix it
Upgrade GTKWave to the latest available version that resolves the VCD parsing issues; if no newer release exists, restrict use of untrusted .vcd files and consider alternative waveform viewers until a fix is released.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115, attempt to load known-good .vcd files, and verify that the application no longer exhibits memory errors or crashes when processing test cases that previously triggered the flaw.
Typical attack path
- Craft a malicious .vcd file that triggers the out-of-bounds read in the var definition section
- Deliver the file to the target via email, download link, or shared storage
- Victim opens the file using GTKWave's GUI VCD loader
- Out-of-bounds read occurs during parsing, leading to memory corruption and arbitrary code execution
How to detect it
Review system and application logs for GTKWave crashes or abnormal exits while loading .vcd files; inspect recent file-access history for .vcd files originating from external sources and correlate with unexpected process behavior or network activity after file open events.
- gtkwave
- .vcd
What your security team should do
- Immediately restrict opening of .vcd files from untrusted sources
- Monitor for availability of a patched GTKWave release and deploy it enterprise-wide
- Add file-type restrictions or sandboxing for waveform analysis tools
- Educate users on the risks of opening files from unknown origins
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 interactive 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