CVE-2023-35004
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A specially made waveform file can let an attacker take over a computer when someone opens it with GTKWave.
- 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
Integer overflow in VZT longest_len value allocation leads to undersized buffer and subsequent memory corruption, enabling arbitrary code execution upon opening a crafted file.
Why it matters to the business
Systems used for hardware simulation and signal analysis become susceptible to full compromise when users open malicious waveform files, increasing risk of data theft or persistent access in engineering environments.
How an attack unfolds
An attacker crafts a .vzt file that supplies an oversized longest_len value to trigger the integer overflow during allocation. The victim opens the file in GTKWave, causing memory corruption that a public exploit can turn into arbitrary code execution.
How to fix it
Upgrade GTKWave to a version containing the fix for the VZT allocation overflow. Until a patch is available, disable VZT support if possible or open files only inside a sandboxed or virtualized environment.
How to confirm the fix worked
Confirm GTKWave version exceeds the vulnerable release; attempt to parse known-malicious test files in an isolated environment and verify absence of crashes or unexpected memory behavior.
Typical attack path
- Craft malicious .vzt file containing oversized longest_len value
- Distribute file via email, download link, or shared storage
- Victim opens file in vulnerable GTKWave instance
- Integer overflow causes heap corruption and attacker code execution
How to detect it
Review system and application logs for GTKWave crashes or segmentation faults immediately after VZT file access; correlate with file creation or download events involving .vzt extensions.
What your security team should do
- Apply available GTKWave updates immediately across all analyst workstations
- Block or quarantine untrusted .vzt files at email and file-share gateways
- Restrict GTKWave execution to sandboxed or virtual desktop environments
- Add file-type and hash-based alerts for VZT files received from external sources
The record
An integer overflow vulnerability exists in the VZT longest_len value allocation functionality of GTKWave 3.3.115. A specially crafted .vzt file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger this vulnerability.
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