CVE-2023-35970
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in waveform viewing software lets attackers take over a computer if a user opens 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
Heap-based buffer overflow in fstReaderIterBlocks2 during chain_table parsing of FST_BL_VCDATA_DYN_ALIAS2 sections in .fst files, enabling arbitrary code execution.
Why it matters to the business
Attackers can achieve full control over engineering workstations that process waveform files, risking theft of proprietary designs and disruption of hardware verification workflows; the issue remains unpatched in listed versions with public exploits available.
How an attack unfolds
An attacker crafts a malicious .fst file containing oversized or malformed chain_table data in the FST_BL_VCDATA_DYN_ALIAS2 section. When a victim opens the file in the vulnerable application, the parser overflows a heap buffer, allowing the attacker to overwrite memory and execute arbitrary code.
How to fix it
Avoid opening untrusted .fst files. Monitor vendor releases for versions beyond 3.3.115 and apply updates immediately when available. Consider sandboxing or alternative viewers for external waveform files.
How to confirm the fix worked
Confirm the application version is newer than 3.3.115 and test with known-good and malformed .fst samples in an isolated environment to verify absence of crashes or code execution.
Typical attack path
- Attacker generates malicious .fst file exploiting chain_table parsing
- Attacker delivers file via email, download, or shared storage
- Victim opens file in affected GTKWave version
- Parser processes FST_BL_VCDATA_DYN_ALIAS2 section and overflows heap buffer
- Attacker gains arbitrary code execution on the system
How to detect it
Inspect system and application logs for crashes or abnormal memory usage when processing .fst files. Look for execution of unexpected processes or scripts immediately after opening waveform files from external sources.
What your security team should do
- Block opening of .fst files from untrusted sources via email and web filters
- Update GTKWave to the latest available version as soon as released
- Educate users on risks of opening waveform files from unknown origins
- Monitor for public exploit code and increase scrutiny on engineering endpoints
The record
Multiple heap-based buffer overflow vulnerabilities exist in the fstReaderIterBlocks2 chain_table parsing 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 chain_table of the `FST_BL_VCDATA_DYN_ALIAS2` section type.
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