CVE-2023-37419
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
Opening a specially made waveform file with an older version of a popular circuit-analysis tool can let an attacker take over the computer.
- 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 during VCD parse_valuechange processing in the vcd2lxt2 utility allows arbitrary code execution when a crafted .vcd file is opened.
Why it matters to the business
Attackers can fully compromise engineering workstations or build systems that convert waveform files, enabling malware deployment, intellectual-property theft, or lateral movement with no user interaction beyond opening a file.
How an attack unfolds
An attacker creates a malicious .vcd file that triggers the out-of-bounds write inside the portdump value-change parser of vcd2lxt2; when a victim runs the conversion utility on the file, control-flow is hijacked and attacker-supplied code executes.
How to fix it
Disable or remove the vcd2lxt2 binary until a patched build is available; sandbox or restrict execution of any GTKWave conversion utilities; monitor vendor releases for an official fix and apply it immediately upon publication.
How to confirm the fix worked
Confirm vcd2lxt2 is absent or wrapped with execution restrictions; re-test with known-malicious .vcd samples after any update; verify that waveform conversion jobs complete without abnormal memory writes or crashes.
Typical attack path
- Craft malicious .vcd containing oversized value-change records
- Deliver file via email, download link, or shared repository
- Victim executes vcd2lxt2 on the file
- Out-of-bounds write corrupts memory and redirects execution
- Attacker payload runs with the privileges of the vcd2lxt2 process
How to detect it
Search EDR and process-creation logs for invocations of vcd2lxt2; inspect command-line arguments that reference .vcd files from untrusted sources; monitor for subsequent suspicious child processes or network connections originating from the same parent.
- vcd2lxt2
- .vcd
What your security team should do
- Block or heavily restrict use of vcd2lxt2 on all systems until a fixed version is released
- Add .vcd files to mail and download gateways for blocking or sandbox detonation
- Harden engineering workstations with application allow-listing for waveform tools
- Hunt for recent execution of vcd2lxt2 in process logs and EDR telemetry
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 vcd2lxt2 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