CVE-2023-38620
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in waveform-viewing software could let an attacker take over a computer if someone opens a specially crafted data file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow during allocation of the lsb array in VZT facgeometry parsing allows memory corruption that can be leveraged for arbitrary code execution.
Why it matters to the business
Compromise of engineering workstations that open untrusted waveform files, resulting in loss of control over design data and potential lateral movement.
How an attack unfolds
An attacker creates a malicious .vzt file that triggers the integer overflow when GTKWave parses the facgeometry section; the victim opens the file, the overflow occurs during lsb array allocation, and attacker-controlled code is executed.
How to fix it
Upgrade GTKWave to a version containing fixes for the VZT facgeometry integer overflows. Until upgraded, do not open .vzt files from untrusted sources and consider running the application under restricted permissions or in a sandbox.
How to confirm the fix worked
Confirm the installed GTKWave binary reports a version newer than 3.3.115 and test that the application no longer crashes or exhibits memory corruption when opening a known trigger file.
Typical attack path
- Craft .vzt file containing oversized facgeometry values that cause integer overflow on lsb allocation
- Deliver the file via email, download link, or shared storage
- Victim opens the file in the vulnerable GTKWave application
- Overflow corrupts memory and redirects execution to attacker payload
How to detect it
Review process creation logs and file-open events for GTKWave accessing .vzt files from unexpected locations; correlate with subsequent crashes or unusual memory-allocation patterns in the application.
What your security team should do
- Prioritize patching GTKWave on all engineering and lab systems that process VZT files
- Block or sandbox opening of .vzt files from external sources until patches are applied
- Add file-type and origin checks to email gateways and file-sharing services
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 `lsb` 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