CVE-2023-37921
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Jan 8, 2024
CISA due date
—
Cloudanix analysis
A bug in file handling software lets attackers run their own code on a computer if someone opens 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
Arbitrary write in VCD sorted bsearch functionality of GTKWave 3.3.115 via vcd2vzt conversion utility allows memory corruption leading to arbitrary code execution when a malicious .vcd file is processed.
Why it matters to the business
Attackers can achieve code execution on user systems that open crafted waveform files, risking data theft or system compromise; low exploit probability but available public exploit increases urgency for affected installations despite over 1000 days since disclosure.
How an attack unfolds
An attacker creates a malicious .vcd file that triggers the arbitrary write condition in the sorted bsearch code path during vcd2vzt processing; the victim opens the file with the conversion utility, resulting in memory corruption and attacker-controlled code execution.
How to fix it
Upgrade affected woocommerce/woocommerce (GIT) installations to the fixed commit 0e9888305d0cb9557e58f558526ab11cb3bcc4b4; avoid processing untrusted .vcd files until patched.
How to confirm the fix worked
Confirm software version or commit hash matches 0e9888305d0cb9557e58f558526ab11cb3bcc4b4; test with known-good and crafted .vcd samples to verify the bsearch path no longer permits writes.
Typical attack path
- Craft malicious .vcd file exploiting sorted bsearch arbitrary write
- Distribute file to target via email or download
- Victim invokes vcd2vzt on the file
- Arbitrary write leads to code execution
How to detect it
Review process execution logs and file access records for vcd2vzt invocations on unexpected .vcd files; correlate with memory corruption indicators or post-exploitation artifacts.
What your security team should do
- Apply the listed commit fix immediately across all instances
- Restrict opening of external .vcd files to trusted sources only
- Monitor EPSS trend and exploit availability for any change in risk
The record
Multiple arbitrary write vulnerabilities exist in the VCD sorted bsearch 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 arbitrary 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