CVE-2023-38619
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in certain analysis software can let an attacker take control of the computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow during allocation of the msb array in VZT facgeometry parsing leads to memory corruption and arbitrary code execution.
Why it matters to the business
Compromise of engineering workstations that process waveform files can result in loss of intellectual property, disruption of hardware design workflows, and lateral movement into development environments.
How an attack unfolds
An attacker crafts a malicious .vzt file that triggers an integer overflow when GTKWave allocates the msb array. The victim opens the file, the overflow occurs during parsing, and attacker-controlled code executes with the privileges of the GTKWave process.
How to fix it
Upgrade GTKWave to the latest available version that resolves the VZT parsing integer overflow. Until a fixed release is obtained, avoid opening untrusted .vzt files and consider sandboxing the application.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test that malformed VZT files no longer trigger allocation overflows or crashes during facgeometry parsing.
Typical attack path
- Create specially crafted .vzt file that triggers integer overflow in facgeometry parsing
- Deliver file via email, download, or shared storage
- Victim opens file with GTKWave
- Overflow corrupts memory and redirects execution to attacker payload
How to detect it
Review file-access logs and process creation events for GTKWave opening .vzt files from untrusted locations; inspect crash dumps or memory error reports that reference VZT facgeometry or msb array allocation.
What your security team should do
- Block or sandbox GTKWave execution on untrusted .vzt files
- Monitor for new GTKWave releases and deploy updated packages enterprise-wide
- Educate hardware and verification teams on risks of opening external waveform files
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 `msb` 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