CVE-2023-38652
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in an older version of this analysis tool can let an attacker take over or crash the 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
Integer overflow in VZT vzt_rd_block_vch_decode dict parsing allows memory corruption when num_time_ticks is nonzero in a crafted file.
Why it matters to the business
Users opening untrusted waveform files risk crashes or code execution that could disrupt hardware verification and design workflows.
How an attack unfolds
An attacker creates a malicious .vzt file containing an oversized num_time_ticks value, then delivers it to a victim who opens it in GTKWave, triggering the overflow and memory corruption.
How to fix it
Upgrade GTKWave to the latest available version that resolves VZT parsing issues; if no fixed release exists, avoid opening untrusted .vzt files and consider alternative waveform viewers.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test parsing of sample files containing large num_time_ticks values for absence of crashes or corruption.
Typical attack path
- Craft .vzt file with manipulated num_time_ticks in dict block
- Deliver file via email, download, or shared storage
- Victim opens file in vulnerable GTKWave instance
- Integer overflow occurs during vzt_rd_block_vch_decode parsing
- Memory corruption leads to crash or potential code execution
How to detect it
Review file-open logs and process execution history for GTKWave instances loading .vzt files from external or unexpected locations; look for sudden crashes or memory-related error reports during VZT parsing.
What your security team should do
- Block opening of .vzt files from untrusted sources until patched
- Monitor for new GTKWave releases addressing VZT integer overflows
- Educate hardware teams on risks of opening external waveform files
The record
Multiple integer overflow vulnerabilities exist in the VZT vzt_rd_block_vch_decode dict parsing functionality of GTKWave 3.3.115. A specially crafted .vzt file can lead to memory corruption. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the integer overflow when num_time_ticks is not zero.
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