CVE-2023-34087
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A problem in a circuit waveform viewer program could let someone take over your computer if you open a specially made data 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
Improper array index validation during EVCD variable-length parsing allows out-of-bounds memory access, enabling memory corruption that leads to arbitrary code execution when a crafted file is processed.
Why it matters to the business
Workstations running waveform analysis tools can be fully compromised, allowing attackers to steal design data, install persistent malware, or pivot into engineering networks if users open untrusted files.
How an attack unfolds
An attacker creates a malicious .evcd file that triggers the parsing flaw, then delivers it via email, shared storage, or download. When the victim opens the file in the vulnerable application, the corrupted index leads to code execution under the user's privileges.
How to fix it
Upgrade to a patched version of GTKWave as soon as one becomes available. Until then, avoid opening any .evcd files from untrusted sources and consider sandboxing or disabling the EVCD import feature if possible.
How to confirm the fix worked
Confirm the application version is newer than 3.3.115 and test that opening a known-good .evcd file succeeds without crashes or unexpected behavior. Monitor vendor release notes for the specific fix commit.
Typical attack path
- Craft a specially malformed .evcd file that exploits the array index flaw
- Deliver the file to the target user through email, file share, or web download
- Trick the user into opening the file with the vulnerable application
- Trigger parsing of the variable-length record, causing memory corruption and shellcode execution
How to detect it
Review file-access logs and process creation events around GTKWave execution for unexpected .evcd files originating outside normal design repositories. Look for crashes or abnormal memory behavior in the application shortly after file open.
What your security team should do
- Block or filter .evcd attachments in email gateways until patches are deployed
- Update application inventory to identify all instances of GTKWave and schedule upgrades
- Educate engineering teams on the risk of opening waveform files from external parties
- Implement application allow-listing or sandbox execution for analysis tools
The record
An improper array index validation vulnerability exists in the EVCD var len parsing functionality of GTKWave 3.3.115. A specially crafted .evcd file can lead to arbitrary code execution. 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