Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted Word 8 .doc file
-
DeliveryVictim processes file with antiword
-
ExploitInverted bounds check reads 0xffff LSTF records
-
ExecutionHeap out-of-bounds read past allocation
-
ImpactProcess crash (denial of service)
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 the target host to parse an attacker-supplied Word 8 (.doc) file with antiword ≤0.37 - a local/file-driven vector with passive user interaction (the victim or an automated pipeline must invoke antiword on the crafted file). The specific trigger is a .doc whose PlcfLst record-count field claims a large LSTF count (up to 0xffff) against an undersized buffer, hitting the inverted bounds check in vGet8LstInfo. No authentication is required of the attacker to craft the file (PR:N), but there is no remote network vector: the limiting factor is that a user or service must actually feed the malicious document to antiword. Impact is limited to a crash of that antiword process; no code execution or data disclosure is described. |
| Impact | This is a memory-safety denial-of-service issue, not a high-priority remote threat. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H, score 6.8) correctly models a LOCAL attack requiring the victim to process a crafted file (UI:P/passive), with impact confined to availability (process crash) and NO confidentiality or integrity impact - consistent with CWE-125 (out-of-bounds READ) manifesting as a crash rather than code execution or data theft. No EPSS score, KEV listing, or POC flag was provided in the input, so exploitation probability signals are absent. There is a public technical write-up (hackmd) and a VulnCheck advisory describing the root cause, but no public exploit identified at time of analysis. Signals are broadly consistent: low-severity, local, availability-only. One caveat - the input Tags include 'Information Disclosure,' but the description states the OOB read crashes the process rather than leaking data, and the CVSS sets VC:N; the disclosure framing is not supported by the described impact. Overall this is a low-to-moderate robustness bug, most relevant to automated document-processing pipelines, not an urgent patch-now item. |
| Exploit ScenarioDerived | An attacker emails or uploads a malicious Word 8 .doc file whose PlcfLst header claims up to 0xffff LSTF records while the actual buffer is tiny. When a victim (or an automated server-side conversion/indexing pipeline) runs antiword on the file, the inverted bounds check in vGet8LstInfo causes reads past the heap allocation, crashing the process. No public exploit code is identified, and the impact is limited to a denial-of-service crash rather than code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Parsing a crafted Word 8 (.doc) file with Antiword 0.37 and earlier can crash the process through a heap out-of-bounds read in vGet8LstInfo (prop8.c), where an inverted bounds check trusts a PlcfLst record count claiming up to 0xffff list entries against a much smaller heap buffer. The vector is local and file-driven: the file itself is unauthenticated input, but the target must actually invoke antiword on the attacker-supplied document (a user or an automated conversion pipeline opening it), so exploitation requires the victim side to feed the file to the tool. Impact per the assessed vector is availability-only (CVSS 3.1 AV:L/AC:L/PR:N/UI:R/C:N/I:N/A:L) - a crash of the antiword process with no code execution or data disclosure demonstrated - and no public exploit or vendor patch has been identified at time of analysis, though the CVSS 4.0 vector supplied by the reporter scores it 6.8 with high availability impact.
RemediationAI
No vendor-released patch or fixed version is identified at time of analysis - none of the supplied references document a corrected antiword release, and the linked source reference points at the vulnerable code rather than a fix commit, so 'upgrade to version X' cannot be stated. The most practical immediate control is to stop feeding untrusted Word 8 .doc files to antiword: block or quarantine .doc attachments at the mail gateway, or restrict antiword invocation to documents from trusted sources, accepting the trade-off that legitimate legacy-document conversion workflows break. Where antiword must remain in a pipeline, isolate it - run it as a low-privilege user inside a sandboxed container with no network access, a hard memory cap, and a short execution timeout so the out-of-bounds read becomes a contained crash rather than a service-wide outage; this costs some CPU/latency overhead and does not eliminate the bug. Because the source is available, a targeted fix is feasible: correct the inverted count check in vGet8LstInfo (prop8.c, around lines 799-825) so the declared PlcfLst/LSTF count is validated against the actual buffer size before iteration, then build and regression-test locally; this is an unsupported, self-maintained patch and must be re-applied on future updates. As an interim alternative, substitute a different extractor such as LibreOffice in headless mode or pandoc, still inside a sandbox, with the trade-off that output fidelity differs and those parsers carry their own vulnerability surface. Finally, compiling antiword with memory-safety hardening (ASan/FORTIFY or a hardened allocator) will typically convert the over-read into an immediate abort, limiting unpredictable behavior at a modest performance cost.
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
Antiword is a long-standing command-line utility (maintained upstream by Adri van Os, CPE cpe:2.3:a:adri_van_os:antiword) that converts legacy Microsoft Word binary documents to plain text or XML, and it is widely embedded in text-extraction and document-ingestion pipelines. Word 8 (Word 97) .doc files are OLE2 compound documents containing PLC (pointer-list) structures; PlcfLst is the list table, and each entry is an LSTF (list format) record describing list formatting. The vulnerability is an out-of-bounds read (CWE-125) in vGet8LstInfo in prop8.c (referenced upstream at prop8.c lines 799-825): the record-count check on the PlcfLst structure is inverted, so a file that declares a count of up to 0xffff LSTF records in a buffer sized far smaller than that passes validation and the code then reads past the end of the heap allocation, crashing the process. Heap over-reads of this class are sometimes discussed as information-disclosure primitives, and the source-feed tags include 'Buffer Overflow' and 'Information Disclosure', but the authoritative assessment here describes only a crash and does not confirm any disclosure or corruption path, so the impact should be treated as denial of service rather than a memory-disclosure vulnerability.
Know when Antiword 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:N/VI:N/VA:H/SC:N/SI:N/SA:N
Local file must be fed to antiword (AV:L, UI:R), no privileges needed (PR:N); only a transient single-process crash, so A:L and no C/I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Antiword through 0.37 contains a heap out-of-bounds read vulnerability in vGet8LstInfo in prop8.c caused by an inverted bounds check on the PlcfLst record count. Attackers can supply a crafted Word 8 .doc file claiming up to 0xffff LSTF records in a tiny buffer, causing reads past the heap allocation that 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.
Buffer overflow in the bGetPPS function in wordole.c in Antiword 0.37 allows remote attackers to cause a denial of servi
A stack out-of-bounds read in Antiword 0.37 and earlier (prop8.c, vGet8PapInfo and vGet8ChrInfo) allows a crafted .doc f
EUVD-2026-102968
GHSA-v4mq-qwjh-99x8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB