CVE-2023-38650
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A problem in a popular waveform viewing program can let someone take over your computer if you open a specially made data file.
- 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 during VZT times parsing when num_time_ticks is nonzero leads to memory corruption in GTKWave's vzt_rd_block_vch_decode function.
Why it matters to the business
Attackers can achieve arbitrary code execution on analyst workstations that process untrusted waveform files, potentially exposing proprietary design data or enabling lateral movement.
How an attack unfolds
An attacker crafts a malicious VZT file that triggers an integer overflow in the num_time_ticks handling path. The victim opens the file with GTKWave, causing memory corruption that the attacker leverages for code execution.
How to fix it
Upgrade GTKWave to a version that corrects the VZT parsing integer overflows. Until a fixed release is available, do not open VZT files from untrusted sources and consider sandboxing the application.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115 and test that crafted VZT samples no longer trigger crashes or corruption in vzt_rd_block_vch_decode.
Typical attack path
- Attacker generates a VZT file with crafted num_time_ticks values
- Attacker delivers the file via email, download, or shared storage
- Victim opens the file in GTKWave
- Integer overflow occurs during block decoding
- Memory corruption is exploited to execute attacker-controlled code
How to detect it
Review file-open logs and process creation events for GTKWave invocations involving externally sourced VZT files; look for crashes or unexpected memory allocations during VZT decoding.
What your security team should do
- Block opening of .vzt files from external sources until patched
- Monitor for GTKWave updates and deploy immediately when available
- Add application sandboxing or execution restrictions for waveform viewers
The record
Multiple integer overflow vulnerabilities exist in the VZT vzt_rd_block_vch_decode times 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