CVE-2023-34436

7.8 HIGH

📋 TL;DR

This CVE describes an out-of-bounds write vulnerability in GTKWave's LXT2 file parser that allows arbitrary code execution when a malicious .lxt2 file is opened. Users who open untrusted .lxt2 files with vulnerable GTKWave versions are affected. The vulnerability requires user interaction to trigger.

💻 Affected Systems

Products:
  • GTKWave
Versions: 3.3.115 and potentially earlier versions
Operating Systems: Linux, Windows, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: All installations that process .lxt2 files are vulnerable by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining full control of the victim's machine through arbitrary code execution.

🟠

Likely Case

Local privilege escalation or malware installation on systems where users open untrusted .lxt2 files.

🟢

If Mitigated

No impact if users only open trusted files or have patched versions.

🌐 Internet-Facing: LOW - Requires user to open a malicious file, not directly network exploitable.
🏢 Internal Only: MEDIUM - Internal users could be tricked into opening malicious files via email or shared drives.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires crafting a malicious .lxt2 file and convincing a user to open it.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check upstream GTKWave repository for fixed version

Vendor Advisory: https://lists.debian.org/debian-lts-announce/2024/04/msg00007.html

Restart Required: No

Instructions:

1. Update GTKWave to latest version from official repository. 2. For Debian systems: apt update && apt upgrade gtkwave. 3. Verify installation with version check.

🔧 Temporary Workarounds

Restrict .lxt2 file handling

all

Configure system to not automatically open .lxt2 files with GTKWave

Use file integrity monitoring

all

Monitor for unexpected .lxt2 file creation or modification

🧯 If You Can't Patch

  • Restrict user permissions to only open .lxt2 files from trusted sources
  • Implement application whitelisting to prevent unauthorized GTKWave execution

🔍 How to Verify

Check if Vulnerable:

Check GTKWave version: gtkwave --version

Check Version:

gtkwave --version

Verify Fix Applied:

Verify version is newer than 3.3.115 and test with known safe .lxt2 files

📡 Detection & Monitoring

Log Indicators:

  • GTKWave crash logs
  • Unexpected process termination

Network Indicators:

  • Unusual outbound connections after opening .lxt2 files

SIEM Query:

Process:gtkwave AND (EventID:1000 OR EventID:1001) OR FileExtension:.lxt2 AND ProcessCreation

🔗 References

📤 Share & Export