CVE-2023-37575
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in this analysis tool can let attackers take over the computer without any other action from the user.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free condition in VCD get_vartoken realloc during interactive GUI parsing of a specially crafted .vcd file leads to arbitrary code execution.
Why it matters to the business
Attackers can fully compromise developer or engineer workstations that open untrusted waveform files, resulting in data theft, persistent malware, or lateral movement with high urgency due to publicly available exploits more than two years after disclosure and no listed fixes.
How an attack unfolds
An attacker creates a malicious .vcd file that triggers the use-after-free in GTKWave's interactive VCD parsing path; the victim opens the file through the GUI, causing the realloc to reuse freed memory and allowing control of execution flow for code execution.
How to fix it
No fixed versions are listed; replace or isolate GTKWave installations, avoid opening any untrusted .vcd files, and monitor for upstream updates from the project.
How to confirm the fix worked
Confirm GTKWave version is not 3.3.115 or earlier vulnerable builds, test that crafted VCD files no longer trigger crashes or code execution in the GUI parser, and verify process isolation or removal of the application.
Typical attack path
- Craft malicious .vcd file exploiting VCD get_vartoken realloc use-after-free
- Deliver file via email, download, or shared storage
- Victim opens file in GTKWave GUI triggering interactive VCD parsing
- Use-after-free occurs during token reallocation
- Attacker gains arbitrary code execution on the system
How to detect it
Review system and application logs for GTKWave crashes or unexpected memory errors during .vcd loading, correlate with file-access events to suspicious VCD files, and inspect for post-execution artifacts such as new processes or network connections initiated by the GTKWave binary.
- gtkwave.*.vcd
- use-after-free
- get_vartoken
What your security team should do
- Immediately restrict GTKWave use to trusted .vcd files only
- Remove or sandbox the application on high-risk systems given available exploits and long disclosure window
- Harden email and file-sharing controls to block .vcd attachments
- Monitor vendor or community channels for any future patched releases
The record
Multiple use-after-free vulnerabilities exist in the VCD get_vartoken realloc 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 use-after-free 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