CVE-2017-9433
Critical · 9.8CVSS
9.8
EPSS
2.3%
Published
Jun 5, 2017
CISA due date
—
Cloudanix analysis
A bug in a document-reading library could let attackers take over a computer simply by getting a user to open a specially crafted file.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in MsWrd1Parser::readFootnoteCorrespondance triggers an out-of-bounds write during parsing of Microsoft Word footnote data structures.
Why it matters to the business
Remote attackers can achieve arbitrary code execution on systems that parse untrusted documents with the vulnerable library, potentially leading to full system compromise; the issue is over seven years old with no active exploitation campaigns reported.
How an attack unfolds
An attacker crafts a malicious document containing malformed footnote correspondence records. When a victim application linked against the vulnerable libmwaw parses the file, the MsWrd1Parser overflows a heap buffer, allowing the attacker to overwrite adjacent memory and gain control of execution flow.
How to fix it
Upgrade libmwaw to a version released after 2017-04-08 that contains the fix for the MsWrd1Parser buffer handling. Rebuild and redeploy any dependent applications or packages that statically or dynamically link the library.
How to confirm the fix worked
Confirm the installed libmwaw shared object or source revision is newer than the 2017-04-08 commit that addressed the overflow. Run regression tests with sample documents containing footnote structures and monitor for crashes or sanitizer violations.
Typical attack path
- Craft malicious document exploiting footnote parsing logic
- Deliver document via email, web download, or file share
- Victim opens document in an application that uses libmwaw
- Parser executes readFootnoteCorrespondance and triggers heap overflow
- Attacker-supplied payload executes with the privileges of the parsing process
How to detect it
Review application crash logs and memory sanitizer reports for heap corruption when opening Microsoft Word documents. Correlate process terminations or abnormal memory access patterns in binaries that depend on libmwaw.
What your security team should do
- Identify all software that ships or links libmwaw and schedule upgrades
- Block or sandbox document parsing workflows that rely on the affected library until patched
- Add libmwaw version checks to software inventory and vulnerability scanning processes
The record
Document Liberation Project libmwaw before 2017-04-08 has an out-of-bounds write caused by a heap-based buffer overflow related to the MsWrd1Parser::readFootnoteCorrespondance function in lib/MsWrd1Parser.cxx.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libmwaw | 0 | 0.3.9-2 |
| Debian:12 | libmwaw | 0 | 0.3.9-2 |
| Debian:13 | libmwaw | 0 | 0.3.9-2 |
| Debian:8 | libmwaw | 0 | 0.3.1-2+deb8u1 |
| Mageia:5 | libmwaw | 0 | 0.3.4-3.1.mga5 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libixion | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libmwaw | 0 | 0.3.11-9.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | liborcus | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libreoffice | 0 | 5.3.3.2-40.5.9 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libstaroffice | 0 | 0.0.3-2.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | libzmf | 0 | 0.0.1-2.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | myspell-dictionaries | 0 | 20170511-15.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | boost | 0 | 1.54.0-26.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | gnome-documents | 0 | 3.20.1-10.6.3 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libepubgen | 0 | 0.1.0-6.6.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libixion | 0 | 0.12.1-13.2.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libixion | 0 | 0.13.0-13.6.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libmwaw | 0 | 0.3.11-7.5.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libmwaw | 0 | 0.3.13-7.9.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | liborcus | 0 | 0.12.1-10.5.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | liborcus | 0 | 0.13.4-10.9.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libqxp | 0 | 0.0.1-1.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libreoffice | 0 | 5.3.5.2-43.5.4 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libreoffice | 0 | 6.0.3.2-43.30.2 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libstaroffice | 0 | 0.0.3-4.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libstaroffice | 0 | 0.0.5-7.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libwps | 0 | 0.4.7-10.7.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | libzmf | 0 | 0.0.1-4.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | myspell-dictionaries | 0 | 20170511-16.2.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | myspell-dictionaries | 0 | 20180403-16.9.1 |
| SUSE:Linux Enterprise Server 12 SP3 | boost | 0 | 1.54.0-26.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | boost | 0 | 1.54.0-26.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libixion | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libmwaw | 0 | 0.3.11-9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | liborcus | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | libreoffice | 0 | 5.3.3.2-40.5.9 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | boost | 0 | 1.54.0-26.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libepubgen | 0 | 0.1.0-6.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libixion | 0 | 0.12.1-13.2.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libixion | 0 | 0.13.0-13.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libmwaw | 0 | 0.3.11-7.5.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libmwaw | 0 | 0.3.13-7.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | liborcus | 0 | 0.12.1-10.5.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | liborcus | 0 | 0.13.4-10.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libqxp | 0 | 0.0.1-1.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libreoffice | 0 | 5.3.5.2-43.5.4 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libreoffice | 0 | 6.0.3.2-43.30.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | libwps | 0 | 0.4.7-10.7.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | libixion | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | libmwaw | 0 | 0.3.11-9.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | liborcus | 0 | 0.12.1-12.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | libreoffice | 0 | 5.3.3.2-40.5.9 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | libstaroffice | 0 | 0.0.3-2.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | libzmf | 0 | 0.0.1-2.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | myspell-dictionaries | 0 | 20170511-15.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | boost | 0 | 1.54.0-26.3.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | gnome-documents | 0 | 3.20.1-10.6.3 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libepubgen | 0 | 0.1.0-6.6.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libixion | 0 | 0.12.1-13.2.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libixion | 0 | 0.13.0-13.6.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libmwaw | 0 | 0.3.11-7.5.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libmwaw | 0 | 0.3.13-7.9.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | liborcus | 0 | 0.12.1-10.5.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | liborcus | 0 | 0.13.4-10.9.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libqxp | 0 | 0.0.1-1.3.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libreoffice | 0 | 5.3.5.2-43.5.4 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libreoffice | 0 | 6.0.3.2-43.30.2 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libstaroffice | 0 | 0.0.3-4.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libstaroffice | 0 | 0.0.5-7.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libwps | 0 | 0.4.7-10.7.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | libzmf | 0 | 0.0.1-4.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | myspell-dictionaries | 0 | 20170511-16.2.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP3 | myspell-dictionaries | 0 | 20180403-16.9.1 |
| Ubuntu:14.04:LTS | libmwaw | 0 | 0.1.11-1ubuntu1.1 |
| Ubuntu:16.04:LTS | libmwaw | 0 | 0.3.7-1ubuntu2.1 |
Related vulnerabilities
- CVE-2016-10327 LibreOffice before 2016-12-22 has an out-of-bounds write caused by a heap-based buffer… Also affects libixion
- CVE-2015-8947 hb-ot-layout-gpos-table.hh in HarfBuzz before 1.0.5 allows remote attackers to cause a… Also affects libixion
- CVE-2026-112108 A vulnerability was determined in ztxz16 fastllm up to 0.1.8.2. CWE-119
- CVE-2026-112073 A vulnerability was identified in Tencent ncnn up to 44b02dabdcf97499281a4692ebd65bad73dc… CWE-119
- CVE-2026-90831 A vulnerability was detected in GNU Binutils 2.47. CWE-119
- CVE-2026-90804 A vulnerability was detected in GNU Binutils 2.47. CWE-119
- CVE-2026-90803 A security vulnerability has been detected in GNU Binutils 2.47. CWE-119
- CVE-2026-90801 A security flaw has been discovered in GNU Binutils 2.47. CWE-119