CVE-2023-37576
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A flaw in waveform analysis software could let attackers take control of a computer when someone opens a specially made data file.
- 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 in the VCD get_vartoken realloc path within the vcd2vzt conversion utility allows a specially crafted .vcd file to trigger arbitrary code execution.
Why it matters to the business
Processing untrusted waveform files can result in full system compromise for engineers or analysts who rely on the tool, increasing risk of data theft or lateral movement in development environments.
How an attack unfolds
An attacker crafts a malicious .vcd file that exploits the realloc use-after-free during token parsing in vcd2vzt; the victim is tricked into running the conversion utility on the file, resulting in arbitrary code execution.
How to fix it
Update GTKWave to a version containing fixes for the VCD parsing realloc issue once available; otherwise restrict use of vcd2vzt to trusted files only and run the utility under sandboxing or least-privilege constraints.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test vcd2vzt against known-good and sample crafted .vcd files for absence of crashes or unexpected behavior.
Typical attack path
- Craft malicious .vcd file targeting get_vartoken realloc
- Deliver file via email, download, or shared storage
- Victim executes vcd2vzt on the file
- Use-after-free triggers arbitrary code execution
How to detect it
Review process execution logs for vcd2vzt invoked on .vcd files from untrusted locations; inspect crash dumps or memory artifacts following VCD conversion attempts for signs of exploitation.
- vcd2vzt
- .vcd file processing leading to realloc-related crashes
What your security team should do
- Block or sandbox execution of vcd2vzt on untrusted inputs
- Monitor for new upstream releases and apply fixes promptly
- Educate users on risks of opening waveform files from unknown sources
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 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