CVE-2023-38618
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A problem in a tool used to view electronic signal files can let attackers take over a computer when someone opens a specially made 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 allocation of the rows array in VZT facgeometry parsing allows out-of-bounds memory access and subsequent arbitrary code execution within the GTKWave process.
Why it matters to the business
Attackers can achieve full control over systems where users open malicious waveform files, leading to data theft, ransomware deployment, or lateral movement with high urgency due to public exploit availability and over 1000 days of exposure.
How an attack unfolds
An attacker crafts a malicious .vzt file that triggers an integer overflow when the rows array is allocated during facgeometry parsing. The victim opens the file in an affected GTKWave version, causing memory corruption that is turned into arbitrary code execution. No named threat actors are associated with this issue.
How to fix it
Upgrade GTKWave to the latest patched release that resolves the VZT parsing integer overflow. Until a fix is available, disable opening of untrusted .vzt files and restrict use of the tool on sensitive systems.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115 and test that crafted .vzt files no longer trigger crashes or unexpected memory allocations during facgeometry parsing.
Typical attack path
- Craft malicious .vzt file exploiting integer overflow in facgeometry rows allocation
- Deliver file via email, download link, or shared storage
- Victim opens file in vulnerable GTKWave instance
- Overflow corrupts memory structures enabling code execution
- Attacker payload executes with privileges of the GTKWave process
How to detect it
Review file-open logs and process execution history for GTKWave launched against .vzt files from untrusted sources; inspect crash dumps or memory logs showing abnormal allocation sizes during VZT parsing.
What your security team should do
- Prioritize patching GTKWave across all developer and engineering workstations immediately due to public exploit availability
- Implement application allow-listing or sandboxing for waveform viewers handling untrusted files
- Add .vzt file type to email and download security scanning rules
- Monitor for new fixed versions and schedule deployment within 30 days
The record
Multiple integer overflow vulnerabilities exist in the VZT facgeometry parsing 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 these vulnerabilities.This vulnerability concerns the integer overflow when allocating the `rows` array.
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