Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted .xls workbook to target
-
ExploitVictim or pipeline runs xls2csv on file
-
ExecutionLarge endcol triggers MULRK out-of-bounds read
-
ImpactAdjacent process memory leaked as CSV cells or process crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that xls2csv (catdoc <= 0.95) be run against an attacker-supplied .xls workbook or raw BIFF stream that contains a MULRK record whose end-column (endcol) value is larger than the static rec buffer can accommodate. The concrete prerequisite is therefore: the target must parse an untrusted spreadsheet with the vulnerable tool. Limiting factors: the attack vector is local (AV:L) - the malicious file must reach and be processed on the host - and user/service interaction is required (UI:P), i.e. someone or some automated job must actually invoke xls2csv on the file; there is no authentication required (PR:N) and no special non-default configuration is needed beyond having catdoc installed and used for .xls conversion. Impact is bounded to leaking limited adjacent memory into CSV output or crashing the single conversion process. |
| Impact | This is a moderate, not top-tier, priority. The input CVSS 4.0 vector (AV:L/AC:L/PR:N/UI:P) and the description agree that exploitation is LOCAL and requires the victim to run xls2csv against an attacker-controlled file (passive user interaction) - there is no network-facing attack surface, so this is not a remotely wormable flaw. Technical impact is split: limited confidentiality via an out-of-bounds read that leaks adjacent process memory into CSV output (VC:L), and high availability impact via process crash (VA:H); there is no integrity impact. No EPSS score, no CISA KEV listing, and no explicit POC flag were provided in the input, so exploitation probability cannot be quantified from the data - however, a detailed public technical writeup (hackmd) and the exact vulnerable source lines are referenced, which materially lowers the barrier to developing an exploit even though no weaponized exploit is confirmed. The realistic risk concentrates in automated server-side pipelines (mail filters, AV/DLP text extractors, indexing systems) that invoke catdoc/xls2csv on untrusted .xls files; for interactive desktop use the UI:P requirement and local vector keep risk low. Net: credible but bounded - treat as a patch-when-reasonable issue, prioritized higher only where catdoc auto-processes untrusted documents. |
| Exploit ScenarioDerived | An attacker crafts an .xls workbook (or raw BIFF stream) containing a MULRK record with an oversized end column and delivers it to a system that converts spreadsheets with xls2csv - for example an email or document-ingestion pipeline. When the victim or automated service runs xls2csv on the file, the MULRK handler reads past the static rec buffer, emitting adjacent process memory as extra CSV cells (information disclosure) or crashing the process (denial of service). No confirmed public exploit exists, but a detailed technical writeup referencing the exact vulnerable code is publicly available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Out-of-bounds read in catdoc through 0.95 allows an attacker who can supply a crafted .xls workbook or raw BIFF stream to cause xls2csv to read past its static rec buffer in the MULRK record handler. Exploitation requires that a user or automated service invoke xls2csv on the malicious file, and no authentication is required; the attack is local to the host processing the file, with user interaction required per the independent assessment. Impact is bounded to leaking limited adjacent process memory into CSV output or crashing the conversion process, and no public exploit identified at time of analysis or CISA KEV activity is present in the supplied data; this is assessed as a moderate, not top-tier, priority.
RemediationAI
No vendor-released patch identified at time of analysis, and the supplied references do not confirm a released fixed version; the upstream catdoc repository and the referenced src/xlsparse.c source location may help guide a fix, but a patched release is not independently confirmed. Until a fix is available, avoid running xls2csv against untrusted .xls workbooks or raw BIFF streams, and consider disabling or removing the xls2csv component where untrusted spreadsheet conversion is not required. If conversion must continue, run xls2csv in a disposable low-privileged sandbox or container with read-only input, no access to secrets, and resource limits; this bounds the impact of crashes or limited adjacent-memory disclosure but adds operational overhead and does not eliminate the flaw. Restricting ingestion to trusted file sources can reduce exposure, but extension-based blocking alone is insufficient because raw BIFF streams can be supplied directly; see the VulnCheck advisory and source reference for further details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a CWE-125 out-of-bounds read in catdoc's BIFF parser, specifically the process_item() function in src/xlsparse.c as referenced in the provided GitHub source link. BIFF (Binary Interchange File Format) is the binary format used by legacy Microsoft Excel .xls workbooks, and MULRK is a BIFF record that stores multiple RK number cells along with a row and column range. In the vulnerable code path, the attacker-controlled end-column (endcol) value associated with a MULRK record is not correctly bounded against the size of the static rec buffer, so xls2csv can read beyond that buffer and treat adjacent process memory as cell data. The affected CPE is cpe:2.3:a:catdoc:catdoc:*:*:*:*:*:*:*:*, and the provided references include the VulnCheck advisory, a technical write-up, and the catdoc source repository.
Know when Catdoc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
File must be processed locally by xls2csv (AV:L) and a victim/job must run it (UI:R); no auth needed (PR:N); limited memory disclosure (C:L) and process crash (A:H), no integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
catdoc through 0.95 contains an out-of-bounds read vulnerability in the MULRK record handler of process_item() in src/xlsparse.c that allows attackers to read past the static rec buffer via a crafted end column. Attackers can supply a crafted .xls workbook or BIFF stream with a large endcol to xls2csv to disclose adjacent process memory as CSV cells or crash the process.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Integer underflow vulnerability in catdoc 0.95's OLE Document DIFAT (Double-Indirect File Allocation Table) Parser that
CVE-2024-52035 is an integer overflow vulnerability in catdoc 0.95's OLE Document File Allocation Table (FAT) parser tha
Catdoc v0.95 was discovered to contain a global buffer overflow via the function process_file at /src/reader.c. Rated hi
The ole_init function in ole.c in catdoc 0.95 allows remote attackers to cause a denial of service (heap-based buffer un
Catdoc v0.95 was discovered to contain a NULL pointer dereference via the component xls2csv at src/xlsparse.c. Rated hig
An out-of-bounds read in catdoc's xls2csv converter lets an attacker who supplies a crafted .xls file cause the tool to
Catdoc v0.95 was discovered to contain a NULL pointer dereference via the component xls2csv at src/fileutil.c. Rated med
EUVD-2026-102357
GHSA-gc5h-x8q8-5m4r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB