---
id: CVE-2026-111127
title: >-
  catdoc through 0.95 contains an out-of-bounds read vulnerability in
  copy_unicode_string() in src/xlsparse.c that allows attackers to read past
  buffers via an unchecked string character count
summary: >-
  catdoc through 0.95 contains an out-of-bounds read vulnerability in
  copy_unicode_string() in src/xlsparse.c that allows attackers to read past
  buffers via an unchecked string character count. Attackers can supply a
  crafted .xls file decl…
severity: medium
cvss: 6.1
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H'
cwe:
  - CWE-125
vendor: catdoc
product: catdoc
affected:
  - catdoc <= 0.95
published: '2026-10-15'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T19:17:26.073'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-111127'
references:
  - url: 'https://github.com/vbwagner/catdoc'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/vbwagner/catdoc/blob/38a2807d22ce1a08bc39b94e9072a9f8f52cd86f/src/xlsparse.c#L421-L520
    label: disclosure@vulncheck.com
  - url: >-
      https://hackmd.io/@haind-pwn/catdoc-xls-mulrk-endcol-and-string-count-oob-read
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/catdoc-through-0.95-out-of-bounds-read-via-xls2csv-copy-unicode-string
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-10-15T19:25:46.407Z'
---

## Overview

catdoc through 0.95 contains an out-of-bounds read vulnerability in copy_unicode_string() in src/xlsparse.c that allows attackers to read past buffers via an unchecked string character count. Attackers can supply a crafted .xls file declaring 0xFFFF two-byte characters in LABEL, STRING, or SST records to disclose adjacent memory through xls2csv output or crash the process.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
