CVE-2023-35997
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 attackers take over your computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper array index validation in fstReaderIterBlocks2 tdelta handling allows out-of-bounds memory access when processing .fst files where signal_lens is 2 or greater, resulting in arbitrary code execution.
Why it matters to the business
Users opening malicious waveform files risk complete system compromise, enabling attackers to run arbitrary code, steal data, or install persistent malware on engineering workstations.
How an attack unfolds
An attacker crafts a malicious .fst file that triggers the tdelta indexing flaw when signal_lens >= 2; the victim opens the file in GTKWave, causing the vulnerable code path to execute attacker-controlled data and achieve code execution.
How to fix it
Upgrade GTKWave to a version containing fixes for the tdelta indexing vulnerabilities; avoid opening untrusted .fst files until patched; consider sandboxing or disabling the application if no update is available.
How to confirm the fix worked
Confirm GTKWave version is newer than 3.3.115; test with known-good .fst files containing signal_lens values of 2 or greater; monitor for crashes or unexpected behavior on crafted inputs.
Typical attack path
- Attacker creates specially crafted .fst file exploiting tdelta array indexing
- Malicious file is delivered via email, download, or shared storage
- Victim opens the file in GTKWave 3.3.115 or earlier
- Vulnerable fstReaderIterBlocks2 function performs invalid array access
- Attacker payload executes with user privileges
How to detect it
Review file access logs and process execution records for GTKWave opening .fst files from unusual locations; inspect system logs for segmentation faults or abnormal memory access patterns around the time of file opens.
- gtkwave.*\.fst
- fstReaderIterBlocks2
What your security team should do
- Immediately restrict opening of .fst files from untrusted sources
- Deploy application allow-listing or sandboxing for GTKWave
- Monitor for new upstream releases and apply fixes promptly given public exploit availability
- Educate users on risks of opening waveform files from external parties
The record
Multiple improper array index validation vulnerabilities exist in the fstReaderIterBlocks2 tdelta functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the tdelta indexing when signal_lens is 2 or more.
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