CVE-2023-39273
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in this analysis tool can let an attacker take over 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 `flags` array in LXT2 facgeometry parsing allows out-of-bounds memory access and corruption, enabling arbitrary code execution.
Why it matters to the business
Compromise of analyst or engineering workstations that open waveform files can lead to loss of control over those systems and any data or credentials present on them.
How an attack unfolds
An attacker creates a malformed .lxt2 file that triggers the integer overflow when GTKWave parses the facgeometry section. The victim opens the file, the overflow occurs during flags array allocation, and attacker-controlled data is written beyond the allocated buffer, hijacking control flow for code execution.
How to fix it
Upgrade GTKWave to a version that corrects the LXT2 facgeometry parsing integer overflow. Until a fixed release is available, do not open untrusted .lxt2 files and consider disabling or sandboxing the application.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115 and that LXT2 files with large facgeometry sections no longer cause abnormal memory allocation or crashes under controlled testing.
Typical attack path
- Craft a malicious .lxt2 file that overflows the flags array allocation
- Deliver the file via email, download, or shared storage
- Victim opens the file with the vulnerable GTKWave binary
- Integer overflow occurs during facgeometry parsing
- Memory corruption leads to arbitrary code execution
How to detect it
Review process creation logs and file-access telemetry for gtkwave instances opening .lxt2 files from user downloads, email clients, or temporary directories; look for subsequent anomalous child processes or memory-allocation failures.
- gtkwave.*\.lxt2
- facgeometry
- flags array allocation
What your security team should do
- Block or sandbox GTKWave execution on systems that do not require it
- Implement file-type restrictions or mail-gateway filtering for .lxt2 attachments
- Monitor for GTKWave processes opening files from untrusted locations
- Track upstream GTKWave releases for a corrective patch
The record
Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing functionality of GTKWave 3.3.115. A specially crafted .lxt2 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 `flags` 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-39274 Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing… Also affects gtkwave