Cloudanix VulnDB

CVE-2023-35057

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 can let an attacker take over a computer that runs the affected document processing software.

Exploit Available
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

Integer overflow during LXT2 lxt2_rd_trace value elements allocation allows an attacker-supplied .lxt2 file to cause out-of-bounds memory operations and corruption.

Why it matters to the business

Successful exploitation can result in arbitrary code execution on a user's workstation when a malicious waveform file is opened, potentially leading to data theft, system compromise, or ransomware deployment; the affected component is present in document-merge-service deployments that rely on the vulnerable GTKWave code.

How an attack unfolds

An attacker crafts a specially malformed .lxt2 file that triggers the integer overflow on allocation. The victim is tricked into opening the file with the affected application (for example via document-merge-service workflows that invoke GTKWave). The overflow corrupts memory structures, allowing the attacker to gain control of execution flow and execute arbitrary code.

How to fix it

Upgrade adfinis/document-merge-service to commit a1edd39d33d1bdf75c31ea01c317547be90ca074 or later; rebuild and redeploy any containers or packages that embed the vulnerable GTKWave 3.3.115 code; verify the updated binary no longer contains the vulnerable allocation path.

How to confirm the fix worked

Confirm the running binary or library reports the fixed commit hash; attempt to open a known-good .lxt2 file and a test case that previously triggered the overflow; review build logs to ensure the patched source was used.

Typical attack path

  1. Attacker generates malicious .lxt2 file exploiting the allocation integer overflow
  2. Attacker delivers the file to the victim through email, download link, or shared storage
  3. Victim opens the file using the vulnerable GTKWave component within document-merge-service
  4. Integer overflow occurs during lxt2_rd_trace processing, leading to memory corruption
  5. Attacker payload gains code execution on the victim's system

How to detect it

Review file-access and process-creation logs for unexpected GTKWave or document-merge-service invocations involving .lxt2 files from untrusted sources; look for subsequent anomalous memory or crash artifacts in system logs.

What your security team should do

  • Immediately update all instances of document-merge-service to the fixed commit a1edd39d33d1bdf75c31ea01c317547be90ca074
  • Block or sandbox opening of untrusted .lxt2 files until patches are applied
  • Add the fixed commit to dependency scanning and SBOM policies
  • Monitor for any post-patch crash reports or memory sanitizer alerts related to LXT2 parsing

The record

An integer overflow vulnerability exists in the LXT2 lxt2_rd_trace value elements allocation functionality of GTKWave 3.3.115. A specially crafted .lxt2 file can lead to memory corruption. A victim would need to open a malicious file to trigger this vulnerability.

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