CVE-2023-32650
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in a popular waveform viewing tool can let attackers take control of a computer simply by tricking someone into opening a specially made 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
Integer overflow during FST_BL_GEOM maxhandle parsing in 32-bit GTKWave builds causes memory corruption when a crafted .fst file is opened.
Why it matters to the business
Successful exploitation can lead to arbitrary code execution or application crashes on analyst or developer workstations that process waveform files, potentially exposing sensitive design data or enabling lateral movement.
How an attack unfolds
An attacker creates a malicious .fst file that triggers an integer overflow in the maxhandle handler. The victim opens the file with a 32-bit GTKWave binary, causing memory corruption that can be leveraged for code execution. Public exploit code is available and the issue has been known for over two years.
How to fix it
Upgrade GTKWave to a version that resolves the integer overflow. Compile as 64-bit where possible. Until a fix is released, avoid opening untrusted .fst files and consider alternative waveform viewers.
How to confirm the fix worked
Confirm GTKWave version and build architecture; attempt to open known-malicious test .fst files in an isolated environment and monitor for crashes or unexpected memory behavior.
Typical attack path
- Craft .fst file containing oversized maxhandle value
- Deliver file via email, download, or shared storage
- Victim opens file in vulnerable 32-bit GTKWave instance
- Overflow occurs during FST_BL_GEOM parsing
- Memory corruption leads to code execution or crash
How to detect it
Review file-access logs and process execution records for GTKWave opening .fst files from unusual locations; correlate with subsequent crashes, unexpected child processes, or memory-related error logs.
What your security team should do
- Block or sandbox opening of .fst files from untrusted sources
- Migrate to 64-bit GTKWave builds immediately
- Monitor upstream for official patched release and deploy promptly
- Educate users handling waveform files about the risk of malicious attachments
The record
An integer overflow vulnerability exists in the FST_BL_GEOM parsing maxhandle functionality of GTKWave 3.3.115, when compiled as a 32-bit binary. A specially crafted .fst file can lead to memory corruption. 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