CVE-2023-37443
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A specially made waveform file can let attackers run their own code on a computer if someone opens it in this viewer program.
- 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 the legacy VCD variable definition section parsing allows arbitrary code execution upon opening a malicious .vcd file via the GUI.
Why it matters to the business
Attackers can achieve code execution on systems where users open untrusted waveform files, risking full compromise; the issue has been public for over two years with exploits available and no listed fixed versions.
How an attack unfolds
An attacker crafts a .vcd file that triggers an out-of-bounds read in the legacy VCD parsing code. The victim opens the file through the GTKWave GUI, causing the vulnerability to activate and resulting in arbitrary code execution.
How to fix it
Do not open .vcd files from untrusted sources. Monitor for GTKWave updates addressing VCD parsing vulnerabilities and migrate to a patched release once available. Consider sandboxing the application or using alternative viewers in the interim.
How to confirm the fix worked
Confirm current GTKWave version against vendor releases. Test file handling behavior with untrusted .vcd samples in an isolated environment and verify absence of out-of-bounds access during parsing.
Typical attack path
- Craft malicious .vcd file exploiting VCD var definition out-of-bounds read
- Deliver file to target user
- User opens file using GTKWave GUI
- Legacy VCD parsing triggers out-of-bounds read
- Achieve arbitrary code execution
How to detect it
Monitor system and application logs for GTKWave crashes or memory errors during .vcd file processing. Search for unexpected child processes or network activity spawned from the gtkwave binary after file open events.
- gtkwave
- .vcd
- legacy VCD parsing
- out-of-bounds read in VCD var definition
What your security team should do
- Block or sandbox GTKWave when handling files from external sources
- Educate users on risks of opening untrusted waveform files
- Track upstream GTKWave releases for VCD parsing fixes
- Implement file-type restrictions or content scanning for .vcd 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 legacy 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