CVE-2017-12109
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of...
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
CVE-2017-12109- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
EUVDEUVD-2017-3693
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
EUVD-2017-3693- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-9qvr-p35q-rv6h
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of...
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
GHSA-9qvr-p35q-rv6h- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-190
- Updated
- 2026-11-02
NVD
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
CVE-2017-12109- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 2.0
- 6.8 Medium
AV:N/AC:M/Au:N/C:P/I:P/A:P - Weakness
- CWE-190
- Updated
- 2026-11-02
OSV
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
CVE-2017-12109- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2017-12109
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
DEBIAN-CVE-2017-12109- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2017-12109
8.8
An exploitable integer overflow vulnerability exists in the xls_preparseWorkSheet function of libxls 1.4 when handling a MULRK record. A specially crafted XLS file can cause a memory corruption resulting in remote code execution. An attacker can send malicious XLS file to trigger this vulnerability.
- Record
UBUNTU-CVE-2017-12109- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRSEC-2023-0 No score
Out-of-bounds write and stack based buffer overflow vulnerabilities
The readxl R package, versions 0.1.0 to 1.0.0, is vulnerable to multiple attack vectors due to the underlying use of the libxls library. Several exploitable vulnerabilities have been identified in different functions of libxls versions 1.3.4 and 1.4. These include out-of-bounds write and stack based buffer overflow vulnerabilities in the xls_mergedCells and xls_getfcell functions respectively. Furthermore, integer overflow vulnerabilities exist in the xls_preparseWorkSheet and xls_appendSST functions when handling MULBLANK, MULRK records and a shared string table (SST). An additional out-of-bounds vulnerability has been identified in the xls_addCell function when it processes a formula record. All these vulnerabilities can lead to memory corruption, potentially resulting in remote code execution. The exploit is triggered when a specially crafted XLS file, possibly sent by an attacker, is processed by these vulnerable functions.
- Record
RSEC-2023-0- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
r-cran-readxlDebian:12 |
before 1.0.0-2 | 1.0.0-2 |
r-cran-readxlDebian:13 |
before 1.0.0-2 | 1.0.0-2 |
r-cran-readxlDebian:14 |
before 1.0.0-2 | 1.0.0-2 |
r-cran-readxlDebian:9 |
before 0.1.1-1+deb9u1, plus listed versions 0.1.1-1 |
0.1.1-1+deb9u1 |
readxlCRAN |
0.1.0 up to 1.1.0, plus listed versions 0.1.11.0.0 |
1.1.0 |
r-cran-readxlUbuntu:16.04:LTS |
All versions, plus listed versions 0.1.0-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-12109 is a high vulnerability (CVSS 8.8) in Libxls, published April 16, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.68%, the 85th percentile. Fixed in r-cran-readxl 1.0.0-2.
References
talosintelligence.com/vulnerability_reports/TALOS-2017-0461
nvd.nist.gov/vuln/detail/CVE-2017-12109
github.com/advisories/GHSA-9qvr-p35q-rv6h
security-tracker.debian.org/tracker/CVE-2017-12109
readxl.tidyverse.org/news/index.html
github.com/tidyverse/readxl/issues/441
Show 11 moreShow less
github.com/tidyverse/readxl/pull/442
security-tracker.debian.org/tracker/CVE-2017-2896
talosintelligence.com/vulnerability_reports/TALOS-2017-0403
talosintelligence.com/vulnerability_reports/TALOS-2017-0404
talosintelligence.com/vulnerability_reports/TALOS-2017-0426
talosintelligence.com/vulnerability_reports/TALOS-2017-0460
talosintelligence.com/vulnerability_reports/TALOS-2017-0462
talosintelligence.com/vulnerability_reports/TALOS-2017-0463
github.com/evanmiller/libxls/issues/34
ubuntu.com/security/CVE-2017-12109
cve.org/CVERecord?id=CVE-2017-12109