CVE-2023-39271
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A flaw in popular waveform viewing software lets attackers take control of a computer if someone opens a specially made data 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
Integer overflow during allocation of the msb array in LXT2 facgeometry parsing allows out-of-bounds memory access and subsequent arbitrary code execution when a crafted .lxt2 file is opened.
Why it matters to the business
Compromise of analyst or developer workstations that open waveform files can lead to malware deployment, credential theft, or lateral movement inside engineering environments.
How an attack unfolds
An attacker generates a malicious .lxt2 file containing integer values that trigger an overflow when GTKWave allocates the msb array. The victim opens the file in an affected GTKWave version, the parser performs the faulty allocation, and attacker-controlled data is written beyond intended bounds, resulting in code execution.
How to fix it
Upgrade GTKWave to a version containing the corrected facgeometry parsing logic. Until a fixed release is available, avoid opening .lxt2 files from untrusted sources and consider sandboxing or alternative viewers.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115 and test that a known-malformed .lxt2 sample no longer triggers allocation faults or crashes.
Typical attack path
- Craft .lxt2 file with oversized facgeometry values that cause msb array integer overflow
- Deliver the file via email, download link, or shared storage
- Victim opens the file using GTKWave
- Parser processes the geometry record and performs the overflowing allocation
- Memory corruption is leveraged to execute attacker-supplied code
How to detect it
Monitor process creation logs for gtkwave opening .lxt2 files from unusual locations, unexpected child processes spawned by gtkwave, or crash dumps containing LXT2 parsing stack frames.
What your security team should do
- Block or quarantine .lxt2 attachments at mail and file gateways
- Update GTKWave as soon as a patched build is released
- Configure application allow-listing or sandboxing for waveform viewers
- Educate users on risks of opening untrusted simulation files
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 `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-39273 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