CVE-2023-39270
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in popular waveform-viewing software lets attackers take control of a computer simply by getting a user to open a specially made data file.
- 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 rows array in LXT2 facgeometry parsing leads to heap memory corruption and arbitrary code execution.
Why it matters to the business
Compromise of engineering workstations that analyze waveform data, enabling attackers to run code and potentially exfiltrate or alter sensitive design files.
How an attack unfolds
An attacker crafts a malicious LXT2 file that triggers an integer overflow in the facgeometry rows array allocation inside GTKWave; when a victim opens the file, the overflow corrupts memory and allows the attacker-supplied payload to execute.
How to fix it
Upgrade GTKWave to a version containing fixes for LXT2 parsing integer overflows once released; in the interim restrict opening of untrusted LXT2 files and consider disabling LXT2 support.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115 and test that crafted LXT2 files no longer trigger the overflow during facgeometry parsing.
Typical attack path
- Craft LXT2 file containing oversized facgeometry data to trigger rows array integer overflow
- Deliver the file via email, download, or shared storage
- Victim opens the file with GTKWave
- Overflow occurs during parsing, memory is corrupted, and attacker code executes
How to detect it
Inspect system logs and process creation events for GTKWave launching with LXT2 files from unusual locations; look for segmentation faults or heap-related crashes shortly after file open.
- gtkwave.*\.lxt2
- facgeometry
- rows array allocation
What your security team should do
- Block or sandbox GTKWave execution on high-value systems until patched
- Enforce file-type allow-listing that excludes LXT2 files from untrusted sources
- Monitor for new GTKWave releases and expedite deployment when fixes appear
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 `rows` 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