CVE-2023-38623
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 the GTKWave viewer can let an attacker take over the computer.
- 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 vindex_offset array in VZT facgeometry parsing leads to memory corruption that enables arbitrary code execution.
Why it matters to the business
Compromise of user workstations running the affected waveform viewer when a malicious file is opened, enabling full system takeover with no patch currently published.
How an attack unfolds
An attacker crafts a VZT file that triggers the integer overflow in facgeometry parsing; when a victim opens the file in GTKWave the overflow corrupts heap memory and redirects execution to attacker-controlled code. Public exploit code is available.
How to fix it
Update to a patched version of GTKWave once released; in the interim avoid opening untrusted .vzt files and run the application under least-privilege or sandboxed conditions.
How to confirm the fix worked
Verify GTKWave version is newer than 3.3.115 and test that a known-malicious VZT sample no longer triggers the overflow or crashes the process.
Typical attack path
- Craft malicious .vzt file containing oversized facgeometry data
- Deliver file via email, download link, or shared storage
- Victim opens file in vulnerable GTKWave instance
- Integer overflow occurs during vindex_offset allocation
- Memory corruption leads to arbitrary code execution
How to detect it
Inspect process crash logs or memory dumps for heap corruption patterns immediately after opening a VZT file; correlate file-open events with subsequent unexpected process behavior or network activity.
What your security team should do
- Block untrusted .vzt files at email gateways and file-sharing services
- Monitor for new GTKWave releases and deploy immediately upon availability
- Restrict execution of GTKWave to isolated analysis environments
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 `vindex_offset` 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