CVE-2026-79591 in libxlsinfo

Summary

by MITRE • 09/10/2026

A heap-buffer-overflow and use-after-free vulnerability exists in the xls_getCSS() function of libxls 1.6.3 due to insufficient validation of a file-controlled font index.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 09/10/2026

The vulnerability identified within the libxls library, specifically affecting version 1.6.3, centers on critical memory management failures during the parsing of Microsoft Excel files. The core issue resides in the xls_getCSS function, which is responsible for retrieving cell style information from binary Office Open XML or legacy BIFF8 formats. This component processes font indices embedded within the file structure to apply appropriate styling attributes such as bolding, italicization, and font family selection. However, the implementation lacks robust boundary checks when validating these file-controlled inputs against internal data structures. When a maliciously crafted Excel file contains a font index that exceeds the bounds of the allocated array or references deallocated memory regions, the parser fails to reject the invalid input, leading directly to exploitable conditions.

The heap-buffer-overflow aspect of this vulnerability arises because the function attempts to access an element in the fonts array using an unvalidated index provided by the document itself. If the specified index is larger than the actual number of font definitions present in the file but still within the bounds of the allocated memory block, or if it points just beyond the end of a heap-allocated buffer, the program reads arbitrary adjacent memory contents. This out-of-bounds read can lead to information disclosure, allowing an attacker to leak sensitive data stored in neighboring memory locations, such as pointers to other objects or internal library state variables. In more severe scenarios where write operations are involved due to subsequent processing logic, this overflow could corrupt heap metadata, potentially leading to arbitrary code execution through control flow hijacking techniques that manipulate the allocator's bookkeeping structures.

Complementing the buffer overflow is a use-after-free vulnerability inherent in how libxls manages memory during the parsing lifecycle of Excel files. The library allocates resources for font definitions and style records dynamically as it parses the file structure. If an attacker crafts a document with specific structural anomalies, such as malformed record headers or unexpected end-of-file conditions triggered by invalid indices, the parser may free these allocated structures prematurely while references to them are still retained in active data structures like cell styles or row properties. Subsequent operations that attempt to access these freed memory regions will interact with deallocated heap space. This use-after-free condition can result in undefined behavior, including application crashes due to segmentation faults when accessing invalid addresses, or more critically, it enables attackers to execute arbitrary code by overwriting the contents of the freed memory with controlled data before it is reallocated for a different purpose.

From an operational perspective, this vulnerability poses significant risks to any system that processes Excel files using libxls 1.6.3 without proper sanitization layers. Automated document processing pipelines, email gateways scanning attachments, and web applications allowing file uploads are particularly susceptible. An attacker could distribute a maliciously crafted .xls or .xlsx file via phishing emails or compromised websites. When a victim opens the file in an application linked against this vulnerable version of libxls, the parser triggers the memory corruption upon attempting to render cell styles. This can lead to denial-of-service conditions through crashes, which disrupts business continuity for organizations relying on automated document handling. Furthermore, successful exploitation could result in remote code execution, granting attackers full control over the affected system and enabling further lateral movement within a network environment.

The technical classification of this flaw aligns with CWE-125, Out-of-bounds Read, due to the heap-buffer-overflow component where data is read beyond allocated boundaries. Additionally, it maps to CWE-416, Use After Free, reflecting the lifecycle management error that allows access to deallocated memory. In terms of offensive security frameworks, this vulnerability facilitates initial exploitation techniques described in MITRE ATT&CK under Tactic TA0002 Execution and specifically relates to methods involving binary or library injection through malformed files, such as those categorized under Command and Scripting Interpreter abuse or potentially File Manipulation if the crash leads to data exfiltration. The lack of input validation on file-controlled indices represents a fundamental design flaw in trusting external inputs without rigorous boundary checking, which is a common pattern in legacy C/C++ libraries handling complex binary formats.

Mitigation strategies must prioritize immediate updates and defensive coding practices. Users should upgrade libxls to the latest patched version where these bounds checks have been implemented to ensure font indices are validated against the actual size of the fonts array before access occurs. For organizations unable to update immediately, implementing a sandboxed environment for document processing is recommended. This involves running parsers in isolated containers or virtual machines with restricted privileges and memory limits to contain potential exploits. Additionally, integrating static analysis tools into development pipelines can help identify similar patterns of insufficient input validation in other parts of the codebase. Network-level controls such as deep packet inspection that flags suspicious binary structures in uploaded files can also serve as a secondary defense layer to prevent malicious documents from reaching vulnerable parsers altogether.

Responsible

MITRE

Reservation

08/25/2026

Disclosure

09/10/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!