CVE-2023-37282
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in popular waveform viewing software can let an attacker take full control of a computer when a user simply opens a specially prepared 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
Out-of-bounds write in the VZT LZMA_Read dmem extraction path allows arbitrary code execution when parsing a malicious file.
Why it matters to the business
Compromise of the workstation used to view waveform files can lead to full system takeover, data theft, or lateral movement; high prevalence of the affected viewer in hardware and EDA workflows increases exposure surface.
How an attack unfolds
An attacker crafts a malicious .vzt file that triggers the out-of-bounds write during LZMA decompression; the victim opens the file in the vulnerable viewer, resulting in arbitrary code execution. Public exploit code is available and the flaw has been known for years.
How to fix it
Upgrade to a version containing the fix for the VZT parser once released; until then, avoid opening untrusted .vzt files and run the viewer under reduced privileges or in a sandbox. Monitor vendor releases for patched builds.
How to confirm the fix worked
Confirm the installed GTKWave binary version is newer than 3.3.115 and test that a known-malicious .vzt sample no longer causes memory corruption or crashes the process.
Typical attack path
- Craft a .vzt file containing a malicious LZMA stream that overflows the dmem buffer
- Deliver the file via email, download link, or shared storage
- Victim opens the file with the vulnerable GTKWave application
- OOB write executes attacker-supplied code with the privileges of the user
How to detect it
Review process creation logs and file-open events for GTKWave accessing .vzt files from untrusted sources; look for crashes or unexpected child processes spawned by the viewer shortly after file access.
- gtkwave.*\.vzt
- LZMA_Read
- VZT file open
- out-of-bounds write crash in gtkwave
What your security team should do
- Block or sandbox execution of GTKWave on untrusted .vzt files immediately
- Inventory all systems running the affected viewer and prioritize upgrade when a fixed build is published
- Add file-type and process execution telemetry for .vzt handling to EDR rules
- Educate hardware and verification teams on the risk of opening externally sourced waveform files
The record
An out-of-bounds write vulnerability exists in the VZT LZMA_Read dmem extraction 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 this vulnerability.
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