CVE-2023-35969 is a high severity (7.8) heap overflow in GTKWave 3.3.115, reached through the chain_table parsing of a crafted FST file. It covers the FST_BL_VCDATA and FST_BL_VCDATA_DYN_ALIAS section types. Debian's fixed packages are built from upstream 3.3.118, so update to that.
What's affected
The record lists GTKWave 3.3.115, from Tony Bybell, as the affected version. It names no other release and gives no fixed version.
The Debian security tracker fills in the fix side. Its fixed packages are built from upstream 3.3.118:
- Debian 10 (buster): 3.3.98+really3.3.118-0+deb10u1, in advisory DLA-3785-1.
- Debian 11 (bullseye): 3.3.104+really3.3.118-0+deb11u1, in advisory DSA-5653-1.
- Debian 12 (bookworm): 3.3.118-0.1~deb12u1, in advisory DSA-5653-1.
- Debian testing and unstable carry 3.3.121 and 3.3.127.
So the record and the distribution disagree in how they describe the range. The record says 3.3.115. The fixed builds are 3.3.118. Releases between the two are not covered by either source. Treat 3.3.118 as the version to reach, and confirm against the Talos report, which I could not open because it blocked my request. Other distributions may use their own version strings, so read your vendor's advisory.
Talos reported two chain_table issues under TALOS-2023-1789. This entry covers the chain_table of the FST_BL_VCDATA and FST_BL_VCDATA_DYN_ALIAS section types. The second entry covers a different section type.
How to check if you're exposed
GTKWave is a desktop waveform viewer, so it usually sits on engineering workstations, lab machines and verification servers rather than production hosts. It also gets pulled into container images and build environments.
gtkwave --version
dpkg -s gtkwave | grep Version
brew list --versions gtkwave
Use the line that matches your system. On Debian or Ubuntu, compare the package version with the fixed builds listed above, and remember that distributions can backport fixes under older numbers, so read the package changelog for the CVE id if the number looks low.
Also look for shared directories where waveform files arrive, such as simulation output folders and vendor drops. The risk comes from opening a file, so knowing where untrusted files come from matters as much as the version number.
What to do now
- Find every machine, image and shared tool that has GTKWave installed, and record the version.
- Update to upstream 3.3.118 or later, or to your distribution's fixed package. On Debian, that means the update from DLA-3785-1 or DSA-5653-1.
- Until updated, do not open .fst files from sources you do not trust, and do not open them on a machine that holds credentials or source code.
- Treat waveform files that arrive from vendors, contractors or the internet as untrusted input, and open them on a disposable machine where you can.
- Re-check the version after the update, including inside container images that were built earlier.
Why it matters
The weaknesses are CWE-119, improper restriction of operations within the bounds of a memory buffer, and CWE-787, out-of-bounds write. The record says multiple heap-based buffer overflows exist in the chain_table parsing of fstReaderIterBlocks2, and that a crafted FST file can lead to arbitrary code execution. This entry concerns the FST_BL_VCDATA and FST_BL_VCDATA_DYN_ALIAS section types.
A chain table is data inside the file that the reader uses to walk related entries. When the reader trusts sizes or counts that come from the file, a crafted file can push writes beyond the buffer it allocated. That is a description of the class from the record, not a walk through the code.
The score is 7.8 with a local vector and one required user action. It is not on CISA's Known Exploited Vulnerabilities list, and I found no claim of exploitation.
Quick check
What is a section type in an FST file?
It is a labelled block of data inside the file. The record says this entry concerns two such block types.
Is the fix the same as for the other GTKWave CVEs?
Debian lists a single fixed build, based on upstream 3.3.118, for the whole group.
Sources
- Debian Security Tracker entry for CVE-2023-35969
- Talos report TALOS-2023-1789 (cited by the record; blocked to automated fetch)
- Debian LTS announcement cited by the record (needs JavaScript; not read)
- Safeguard Gold entry for CVE-2023-35969
Last reviewed: 19 October 2026.