CVE-2023-37447
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A specially made waveform file can take over your computer if you open it with this analysis tool, potentially letting attackers steal data or install malware.
- 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 and subsequent out-of-bounds write during parsing of the VCD var definition section in the vcd2lxt conversion utility, allowing an attacker-controlled .vcd file to corrupt memory and achieve arbitrary code execution.
Why it matters to the business
Opening a malicious waveform file with the affected utility can fully compromise the workstation, enabling data theft, persistence, or lateral movement with no prior authentication required.
How an attack unfolds
An attacker crafts a .vcd file that triggers the out-of-bounds write in the var definition parser inside vcd2lxt; the victim opens the file locally, the utility processes the malformed input, memory corruption occurs, and attacker-supplied code executes with the privileges of the user running the tool.
How to fix it
Upgrade GTKWave to the latest available version that resolves the VCD parsing issues; if no patched release exists, replace the utility with an unaffected alternative and block execution of vcd2lxt on untrusted files via application allow-listing.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test that vcd2lxt rejects or safely handles the previously crashing VCD constructs; review build logs or package manifests for the corrected parser code.
Typical attack path
- Create malicious .vcd file exploiting VCD var definition parsing
- Deliver file via email, download, or shared storage
- Victim opens file with GTKWave or invokes vcd2lxt on it
- Out-of-bounds write corrupts memory and redirects execution
- Attacker payload executes arbitrary code on the system
How to detect it
Search process creation logs for vcd2lxt or gtkwave invocations against files originating outside trusted directories; examine crash dumps or memory dumps for VCD parser faults; review file-access and execution telemetry for .vcd files received via email or web.
- vcd2lxt
- .vcd file opened from Downloads or email attachments
- GTKWave segmentation fault or abnormal termination while parsing VCD
What your security team should do
- Immediately restrict use of vcd2lxt and GTKWave to trusted files only
- Deploy application control to prevent execution on unvetted .vcd files
- Monitor for new upstream releases and schedule upgrade within 30 days
- Educate engineering teams on risks of opening waveform files from external sources
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 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