CVE-2023-38657
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made analysis file in this waveform viewer can let an attacker take full control of 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
Out-of-bounds write in LXT2 zlib block decompression allows arbitrary code execution when processing a malformed file.
Why it matters to the business
Compromise of analyst workstations running the affected tool can result in data theft, lateral movement, or ransomware deployment when users open malicious waveform files.
How an attack unfolds
An attacker crafts a .lxt2 file containing a malformed zlib block that triggers the out-of-bounds write. The file is delivered via email, download, or shared storage; the victim opens it in the vulnerable application, causing the flaw to execute attacker-controlled code.
How to fix it
Upgrade to a patched GTKWave release when available; until then, disable LXT2 support or replace the tool with an unaffected waveform viewer. Do not open .lxt2 files from untrusted sources.
How to confirm the fix worked
Confirm the installed GTKWave version against vendor advisories, attempt to open known-good .lxt2 files, and verify that no crash or unexpected behavior occurs with test cases exercising zlib blocks.
Typical attack path
- Craft .lxt2 file with oversized or malformed zlib data targeting the decompression routine
- Deliver the file to the victim through common channels
- Victim opens the file using the vulnerable GTKWave version
- Out-of-bounds write occurs during parsing, leading to code execution
How to detect it
Review system and application logs for GTKWave crashes or child process spawns immediately after .lxt2 file access; correlate with file-creation timestamps and user activity on engineering workstations.
What your security team should do
- Block or sandbox opening of .lxt2 files from external sources
- Replace GTKWave with a maintained alternative on analyst systems
- Add file-type restrictions and user training to prevent accidental opening of untrusted waveform files
- Monitor application crash reports for GTKWave related to LXT2 parsing
The record
An out-of-bounds write vulnerability exists in the LXT2 zlib block decompression 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