CVE-2023-36747
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A problem in popular waveform viewing software lets attackers take over a computer simply by tricking someone into opening a bad 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
Heap-based buffer overflow in fstReaderIterBlocks2 fstWritex len handling causes memory corruption when beg_time does not align with the time table start.
Why it matters to the business
Attackers can gain full control of affected systems used for waveform analysis, risking data theft, system disruption, and supply chain issues in hardware and EDA environments where the tool sees broad use.
How an attack unfolds
An attacker creates a malicious .fst file that triggers the len mishandling in fstWritex during block iteration; the victim opens the file in the vulnerable application, leading to memory corruption that can be leveraged for arbitrary code execution. Public exploits are available.
How to fix it
Upgrade to a patched version of GTKWave once released; in the interim, avoid opening .fst files from untrusted sources and consider sandboxing or alternative tools.
How to confirm the fix worked
Verify the installed GTKWave version against vendor releases; test by attempting to open a known benign .fst file and confirm no crashes or unexpected memory behavior occur.
Typical attack path
- Craft a malicious .fst file exploiting len handling in fstWritex
- Distribute the file via email, download, or shared storage
- Victim opens the file in the vulnerable GTKWave application
- Trigger buffer overflow and memory corruption
- Achieve code execution or crash
How to detect it
Review file access logs for unexpected .fst files opened by the application; inspect system logs and crash reports for memory corruption indicators around the time of file access; correlate with process execution of gtkwave.
What your security team should do
- Block opening of .fst files from external sources until a fix is applied
- Monitor for new GTKWave releases and deploy updates promptly
- Educate users on risks of untrusted waveform files
- Scan systems for presence of GTKWave and assess exposure
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 `beg_time` does not match the start of 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