CVE-2023-34795

7.8 HIGH

📋 TL;DR

CVE-2023-34795 is a use-after-free vulnerability in xlsxio library versions 0.1.2 to 0.2.34 where the xlsxioread_sheetlist_close() function frees an uninitialized pointer. Attackers can exploit this by providing a crafted XLSX file to cause a Denial of Service (DoS) crash. Any application using vulnerable xlsxio versions to parse XLSX files is affected.

💻 Affected Systems

Products:
  • xlsxio
Versions: 0.1.2 to 0.2.34
Operating Systems: All platforms where xlsxio is used
Default Config Vulnerable: ⚠️ Yes
Notes: Any application linking against vulnerable xlsxio versions and using xlsxioread_sheetlist_close() function.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete application crash leading to sustained Denial of Service, potentially disrupting business operations if the application is critical.

🟠

Likely Case

Application crashes when processing malicious XLSX files, causing temporary service disruption until restart.

🟢

If Mitigated

Application crashes but auto-restarts or load balancing prevents sustained outage; no data compromise occurs.

🌐 Internet-Facing: MEDIUM - Exploitation requires file upload capability; many internet-facing applications accept file uploads.
🏢 Internal Only: LOW - Requires internal users to process malicious files; less likely than external attacks.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only a crafted XLSX file; no authentication needed if file upload/processing is available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.2.35 and later

Vendor Advisory: https://github.com/brechtsanders/xlsxio/commit/d653f1604b54532f11b45dca1fa164b4a1f15e2d

Restart Required: Yes

Instructions:

1. Update xlsxio to version 0.2.35 or later. 2. Recompile any applications using xlsxio. 3. Restart affected services.

🔧 Temporary Workarounds

Disable XLSX file processing

all

Temporarily block or reject XLSX file uploads/processing in applications.

Input validation

all

Implement strict file type validation and sanitization for uploaded XLSX files.

🧯 If You Can't Patch

  • Implement network segmentation to isolate vulnerable systems from untrusted networks.
  • Deploy application-level firewalls to inspect and block malicious XLSX files.

🔍 How to Verify

Check if Vulnerable:

Check xlsxio library version: 'xlsxio_read --version' or examine library files. Verify if version is between 0.1.2 and 0.2.34.

Check Version:

xlsxio_read --version 2>/dev/null || grep -r "xlsxio" /usr/include /usr/local/include 2>/dev/null | grep -i version

Verify Fix Applied:

Confirm xlsxio version is 0.2.35 or later. Test with known safe XLSX files to ensure functionality.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes with segmentation faults when processing XLSX files
  • Unexpected process termination logs

Network Indicators:

  • Multiple failed file upload attempts
  • Unusual XLSX file upload patterns

SIEM Query:

source="application.logs" AND ("segmentation fault" OR "crash") AND "xlsx"

🔗 References

📤 Share & Export