CVE-2020-35342

7.5 HIGH

📋 TL;DR

CVE-2020-35342 is an uninitialized heap vulnerability in GNU Binutils' tic4x disassembler that allows attackers to leak sensitive information from memory. This affects systems using Binutils for binary analysis or development tools. The vulnerability could expose process memory contents including potentially sensitive data.

💻 Affected Systems

Products:
  • GNU Binutils
Versions: All versions before 2.34
Operating Systems: Linux, Unix-like systems, Any OS using GNU Binutils
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the tic4x architecture disassembler, but Binutils is commonly installed as a package on development systems.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could extract sensitive information like encryption keys, passwords, or other process memory contents, potentially leading to further system compromise.

🟠

Likely Case

Information disclosure of random heap memory contents, which may include fragments of sensitive data or application state.

🟢

If Mitigated

Limited impact with proper access controls and isolation of Binutils tools from sensitive systems.

🌐 Internet-Facing: LOW - Binutils tools are typically not exposed to internet-facing services.
🏢 Internal Only: MEDIUM - Development and analysis systems using vulnerable Binutils could be targeted internally.

🎯 Exploit Status

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

Exploitation requires the attacker to trigger the vulnerable disassembler function with specific malformed input.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.34 and later

Vendor Advisory: https://sourceware.org/bugzilla/show_bug.cgi?id=25319

Restart Required: No

Instructions:

1. Update Binutils package using system package manager (apt-get upgrade binutils, yum update binutils, etc.)
2. Verify installation of version 2.34 or later
3. Recompile any tools or applications that statically link Binutils libraries

🔧 Temporary Workarounds

Disable tic4x disassembler

linux

Remove or restrict access to the vulnerable component if tic4x architecture support is not needed

# Check if tic4x support is present
objdump --info | grep tic4x
# Consider removing or restricting permissions to Binutils tools

🧯 If You Can't Patch

  • Isolate Binutils tools from production systems and sensitive data
  • Implement strict access controls and monitoring on systems with vulnerable Binutils

🔍 How to Verify

Check if Vulnerable:

Check Binutils version: ld --version | head -1

Check Version:

ld --version | head -1

Verify Fix Applied:

Verify version is 2.34 or higher: ld --version | grep -q '2\.3[4-9]\|2\.[4-9]' && echo 'Patched'

📡 Detection & Monitoring

Log Indicators:

  • Unusual process memory access patterns
  • Multiple failed disassembly attempts on tic4x binaries

Network Indicators:

  • Not network exploitable - local vulnerability

SIEM Query:

Process execution of objdump, readelf, or other Binutils tools with unusual arguments or error conditions

🔗 References

📤 Share & Export