Cloudanix VulnDB

CVE-2023-39273

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Jan 8, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

Opening a specially made waveform file in this analysis tool can let an attacker take over the computer.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Remote Code Execution
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow during allocation of the `flags` array in LXT2 facgeometry parsing allows out-of-bounds memory access and corruption, enabling arbitrary code execution.

Why it matters to the business

Compromise of analyst or engineering workstations that open waveform files can lead to loss of control over those systems and any data or credentials present on them.

How an attack unfolds

An attacker creates a malformed .lxt2 file that triggers the integer overflow when GTKWave parses the facgeometry section. The victim opens the file, the overflow occurs during flags array allocation, and attacker-controlled data is written beyond the allocated buffer, hijacking control flow for code execution.

How to fix it

Upgrade GTKWave to a version that corrects the LXT2 facgeometry parsing integer overflow. Until a fixed release is available, do not open untrusted .lxt2 files and consider disabling or sandboxing the application.

How to confirm the fix worked

Confirm the installed GTKWave version is newer than 3.3.115 and that LXT2 files with large facgeometry sections no longer cause abnormal memory allocation or crashes under controlled testing.

Typical attack path

  1. Craft a malicious .lxt2 file that overflows the flags array allocation
  2. Deliver the file via email, download, or shared storage
  3. Victim opens the file with the vulnerable GTKWave binary
  4. Integer overflow occurs during facgeometry parsing
  5. Memory corruption leads to arbitrary code execution

How to detect it

Review process creation logs and file-access telemetry for gtkwave instances opening .lxt2 files from user downloads, email clients, or temporary directories; look for subsequent anomalous child processes or memory-allocation failures.

  • gtkwave.*\.lxt2
  • facgeometry
  • flags array allocation

What your security team should do

  • Block or sandbox GTKWave execution on systems that do not require it
  • Implement file-type restrictions or mail-gateway filtering for .lxt2 attachments
  • Monitor for GTKWave processes opening files from untrusted locations
  • Track upstream GTKWave releases for a corrective patch

The record

Multiple integer overflow vulnerabilities exist in the LXT2 facgeometry parsing functionality of GTKWave 3.3.115. A specially crafted .lxt2 file can lead to arbitrary code execution. A victim would need to open a malicious file to trigger these vulnerabilities.This vulnerability concerns the integer overflow when allocating the `flags` array.

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