CVE-2023-39316
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
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow during allocation of the string_pointers array in LXT2 num_dict_entries parsing leads to memory corruption and arbitrary code execution.
Why it matters to the business
An attacker can gain full control of a user's workstation if the user opens a malicious waveform file, enabling data theft, persistence, or further lateral movement with moderate operational risk due to the age of the issue and low exploitation probability.
How an attack unfolds
An attacker creates a specially crafted .lxt2 file that triggers an integer overflow when GTKWave allocates the string_pointers array; the victim opens the file, causing memory corruption that allows the attacker to execute arbitrary code on the local system.
How to fix it
Upgrade GTKWave to a patched release that correctly handles integer sizes in LXT2 num_dict_entries processing; until available, avoid opening untrusted .lxt2 files and run the application under sandboxing or least-privilege restrictions.
How to confirm the fix worked
Test the updated binary with both benign and boundary-case .lxt2 files containing large dictionary entry counts to confirm absence of overflow during string_pointers allocation; verify process memory protections remain intact.
Typical attack path
- Craft malicious .lxt2 file containing oversized num_dict_entries values to trigger integer overflow
- Deliver the file to the target via email, download, or shared storage
- Victim opens the file using GTKWave
- Overflow corrupts memory structures leading to arbitrary code execution
How to detect it
Review file-access and process-creation logs for GTKWave invocations involving .lxt2 files from unusual locations or received recently; correlate with subsequent suspicious child processes or memory anomalies.
What your security team should do
- Block or sandbox GTKWave execution when handling files from external sources
- Inventory all instances of the affected software and prioritize removal or replacement where updates are unavailable
- Educate users on risks of opening waveform files from untrusted origins
The record
Multiple integer overflow vulnerabilities exist in the LXT2 num_dict_entries 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 `string_pointers` 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-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
- CVE-2023-39274 Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing… Also affects gtkwave