CVE-2023-35989
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A specially made waveform file can let an attacker take over a computer when someone opens it with this software.
- 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
An integer overflow in LXT2 zlib block allocation allows a crafted file to trigger memory corruption and arbitrary code execution.
Why it matters to the business
Attackers can gain full control of systems used to view waveform files, enabling data theft or further network compromise when users open malicious files.
How an attack unfolds
An attacker crafts a malicious .lxt2 file that triggers the integer overflow during zlib block handling. The victim opens the file in the affected application, causing the overflow to corrupt memory and execute attacker-controlled code.
How to fix it
Apply the latest application version addressing the issue when released; otherwise restrict opening of untrusted .lxt2 files and consider sandboxed execution environments.
How to confirm the fix worked
Test by opening known-good versus crafted .lxt2 files in an isolated environment and verify process behavior or memory state; confirm application version and patch level.
Typical attack path
- Craft .lxt2 file exploiting integer overflow in zlib allocation
- Deliver file via email, download, or shared storage
- Victim opens file in vulnerable application
- Overflow leads to memory corruption and code execution
How to detect it
Review logs for unexpected process launches or crashes immediately after .lxt2 file access; inspect recent file-open events for suspicious .lxt2 files.
What your security team should do
- Block or sandbox opening of .lxt2 files from untrusted sources
- Monitor vendor releases for fixed versions and deploy promptly
- Educate users on risks of opening waveform files from unknown origins
The record
An integer overflow vulnerability exists in the LXT2 zlib block allocation 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 this vulnerability.
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