CVE-2023-36746
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file in GTKWave can let an attacker take 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
Heap-based buffer overflow in fstReaderIterBlocks2 fstWritex len handling during time table parsing of .fst files, resulting in memory corruption.
Why it matters to the business
Attackers can achieve code execution on analyst workstations by tricking users into opening malicious waveform files, risking data exfiltration or further network compromise in environments that rely on GTKWave for signal analysis.
How an attack unfolds
An attacker creates a crafted .fst file that supplies an oversized or malformed len value to fstWritex while the time table is parsed; when a victim opens the file in GTKWave the overflow corrupts heap memory and allows arbitrary code execution.
How to fix it
Upgrade GTKWave to the latest release that corrects the fstWritex len handling; until then restrict opening of .fst files from untrusted sources and run the application under sandboxing or least-privilege accounts.
How to confirm the fix worked
Confirm the installed GTKWave version is newer than 3.3.115, test that a known-good .fst file still loads correctly, and attempt to open a synthetically malformed test file to verify the overflow no longer occurs.
Typical attack path
- Craft malicious .fst file with malformed time-table len field
- Deliver file via email, download, or shared storage
- Victim opens file with GTKWave
- Buffer overflow triggers memory corruption and payload execution
How to detect it
Review system and application logs for GTKWave crashes or segfaults immediately after .fst file access; inspect recent file-open events for .fst files originating outside expected project directories.
What your security team should do
- Block untrusted .fst files at mail and web gateways
- Update GTKWave across all analyst systems
- Add file-type sandboxing for waveform viewers
- Monitor for GTKWave crashes or unusual memory allocations
The record
Multiple heap-based buffer overflow vulnerabilities exist in the fstReaderIterBlocks2 fstWritex len functionality of GTKWave 3.3.115. A specially crafted .fst file can lead to memory corruption. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the handling of `len` in `fstWritex` when parsing the time table.
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