CVE-2023-39414
High · 7.3CVSS
7.3
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A waveform viewing program can be tricked into corrupting its own memory when a user opens a specially made file, potentially letting 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 underflow during right-shift in LXT2 radix iteration allows crafted file contents to produce out-of-bounds memory writes, resulting in corruption of the GTKWave process address space.
Why it matters to the business
Users who open untrusted waveform files risk full compromise of the analysis workstation, enabling theft of proprietary design data or lateral movement from the affected machine.
How an attack unfolds
An attacker crafts a malicious .lxt2 file that triggers the underflow in the shift operation; the victim is tricked into opening the file with GTKWave, causing immediate memory corruption that an exploit can turn into arbitrary code execution.
How to fix it
Upgrade GTKWave to a version that corrects the LXT2 radix shift handling; until a fix is available, avoid opening untrusted .lxt2 files and consider sandboxing the application.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115, attempt to open a known-good .lxt2 file, and verify the process does not crash or exhibit abnormal memory behavior on crafted test files.
Typical attack path
- Attacker generates .lxt2 file containing underflow-triggering radix data
- Attacker delivers file via email, download, or shared storage
- Victim opens file in vulnerable GTKWave instance
- Underflow occurs during lxt2_rd_iter_radix processing
- Memory corruption is leveraged for code execution or denial of service
How to detect it
Inspect logs or EDR telemetry for GTKWave processes opening .lxt2 files from untrusted locations, unexpected crashes, or memory-protection violations immediately after file open events.
- gtkwave.*\.lxt2
- lxt2_rd_iter_radix
What your security team should do
- Block or filter untrusted .lxt2 files at mail and file-share gateways
- Deploy application allow-listing or sandboxing for waveform viewers
- Monitor for GTKWave crashes when .lxt2 files are opened
- Plan upgrade as soon as a corrected release is published
The record
Multiple integer underflow vulnerabilities exist in the LXT2 lxt2_rd_iter_radix shift operation functionality of GTKWave 3.3.115. A specially crafted .lxt2 file can lead to memory corruption. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the integer underflow when performing the right shift operation.
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-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
- CVE-2023-39274 Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing… Also affects gtkwave