CVE-2023-37418
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A waveform analysis tool can be tricked into letting attackers take over a computer simply by opening a specially crafted 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
Out-of-bounds write in the VCD parse_valuechange portdump path of the vcd2vzt utility allows an attacker-supplied .vcd file to corrupt adjacent memory and achieve arbitrary code execution.
Why it matters to the business
Successful exploitation grants an attacker full control over the system that processes the malicious waveform file, enabling data theft, ransomware deployment, or persistence; the 1012-day-old issue with public exploits increases urgency for any organization still using the affected gtkwave package.
How an attack unfolds
An attacker crafts a malicious .vcd file that triggers the out-of-bounds write inside parse_valuechange during portdump processing; the victim is tricked into running the vcd2vzt conversion utility on the file, causing the utility to execute attacker-controlled code.
How to fix it
Upgrade tonybybell gtkwave to a version that resolves the VCD parsing vulnerabilities; if no fixed release is available, replace the tool with an unaffected waveform viewer or isolate file-processing workflows in a sandbox that cannot reach sensitive data or networks.
How to confirm the fix worked
Confirm the installed gtkwave package version is newer than the vulnerable release, test that vcd2vzt no longer crashes or executes unexpected code when processing known-malicious .vcd test cases, and verify that automated build or CI pipelines enforce the updated package.
Typical attack path
- Attacker generates a malformed .vcd file exploiting the parse_valuechange portdump logic
- Attacker delivers the file via email, download, or shared storage
- Victim executes vcd2vzt on the file (or opens it through a workflow that invokes the utility)
- Memory corruption occurs, leading to arbitrary code execution under the privileges of the vcd2vzt process
How to detect it
Search process-creation logs and file-access telemetry for invocations of vcd2vzt against files whose names or contents are inconsistent with expected engineering data; look for unexpected crashes or child-process spawns immediately after vcd2vzt execution.
- vcd2vzt
- .vcd
- parse_valuechange
What your security team should do
- Immediately inventory all systems running gtkwave and block execution of vcd2vzt on untrusted files until patched
- Add .vcd file-type restrictions or sandboxing to any data-analysis pipelines that invoke the utility
- Monitor threat-intelligence feeds for public exploits and update detection rules accordingly
- Replace gtkwave with a maintained alternative if the project remains unpatched
The record
Multiple out-of-bounds write vulnerabilities exist in the VCD parse_valuechange portdump functionality of GTKWave 3.3.115. A specially crafted .vcd file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the out-of-bounds write when triggered via the vcd2vzt conversion utility.
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