CVE-2023-39413
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in a popular waveform viewer program can let attackers take over a computer if a person opens a specially prepared 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 underflow during left shift in LXT2 radix iteration allows memory corruption when parsing a crafted .lxt2 file.
Why it matters to the business
Attackers can achieve code execution on analyst workstations that process waveform files, potentially leading to theft of proprietary design data or further lateral movement with low likelihood given current exploitation metrics.
How an attack unfolds
An attacker crafts a malicious .lxt2 file that triggers an integer underflow in the shift operation inside lxt2_rd_iter_radix; the victim opens the file in GTKWave, causing memory corruption that an available public exploit can leverage for arbitrary code execution.
How to fix it
Upgrade GTKWave to a version that corrects the LXT2 parser integer handling; until a fixed release is available, avoid opening untrusted .lxt2 files and consider sandboxing or alternative viewers.
How to confirm the fix worked
Confirm the installed GTKWave build contains the corrected LXT2 iteration logic by reviewing release notes or source for the shift-operation bounds check; test with known-malformed sample files in an isolated environment.
Typical attack path
- Craft .lxt2 file containing values that cause underflow in radix shift calculation
- Deliver the file via email, download link, or shared storage
- Victim opens the file in the vulnerable GTKWave application
- Underflow leads to memory corruption and potential control-flow hijack
How to detect it
Monitor process creation logs for GTKWave launched against files from untrusted sources; inspect crash dumps or memory error logs for LXT2 radix iteration faults; search endpoint telemetry for unexpected child processes or network activity immediately after .lxt2 file access.
What your security team should do
- Block or quarantine .lxt2 attachments at mail and file gateways until fixed builds are deployed
- Update GTKWave as soon as a corrected package is released
- Add .lxt2 file-type restrictions or viewer sandbox policies for hardware and EDA teams
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 left 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-39414 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