Vulnerability record · CVE-2023-7101 · published 24 December 2023
CVE-2023-7101: Spreadsheet::ParseExcel Perl module code injection via Excel number format strings
JJmcnamara · Spreadsheet\
Spreadsheet::ParseExcel 0.65, a Perl module for parsing Excel files, passes unvalidated input from a file into a string-type eval. Specifically, Number format strings within the Excel parsing logic are evaluated, allowing arbitrary Perl code execution. This matters because parsing an untrusted spreadsheet can run attacker-controlled code in the context of the application using the module.
Description
Spreadsheet::ParseExcel version 0.65 is a Perl module used for parsing Excel files. Spreadsheet::ParseExcel is vulnerable to an arbitrary code execution (ACE) vulnerability due to passing unvalidated input from a file into a string-type “eval”. Specifically, the issue stems from the evaluation of Number format strings (not to be confused with printf-style format strings) within the Excel parsing logic.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Automated analysis
high priorityThe vulnerability allows arbitrary code execution, is listed in CISA KEV with a near-term remediation deadline, and has high EPSS probability, though it requires user interaction to trigger.
What it is
Spreadsheet::ParseExcel 0.65, a Perl module for parsing Excel files, passes unvalidated input from a file into a string-type eval. Specifically, Number format strings within the Excel parsing logic are evaluated, allowing arbitrary Perl code execution. This matters because parsing an untrusted spreadsheet can run attacker-controlled code in the context of the application using the module.
Impact
An attacker gains arbitrary code execution with the privileges of the process parsing the Excel file. This can lead to full compromise of the host or application, including data theft, persistence, and lateral movement.
Attack surface
The flaw is reached by supplying a crafted Excel file to an application that uses Spreadsheet::ParseExcel to parse it. The CVSS vector AV:L/PR:N/UI:R indicates local access with no privileges but requires user interaction, meaning a victim must open or process the malicious file.
Exploitation
CVE-2023-7101 is listed in CISA KEV with a due date of 2024-01-23, and EPSS shows a 30-day probability of 0.19106 (97th percentile). References include a proof-of-concept link and patch commits, indicating public exploit code and active exploitation risk.
What to do
- Upgrade Spreadsheet::ParseExcel to a patched version; apply the vendor commit or distribution update referenced in the advisory.
- Update Debian and Fedora packages to the fixed versions announced in their respective security lists.
- If patching is not possible, discontinue use of Spreadsheet::ParseExcel for untrusted files or isolate parsing in a sandbox with minimal privileges.
- Avoid processing Excel files from untrusted sources with applications that rely on this module until remediation is complete.
Detection
- Monitor for unexpected child processes or command execution originating from Perl processes that parse Excel files.
- Inspect Excel files for anomalous Number format strings containing Perl code or eval-like constructs before parsing.
- Audit application logs for errors or unusual behavior when Spreadsheet::ParseExcel processes external spreadsheets.
- Use file integrity monitoring on Perl module files and watch for unauthorized changes to Spreadsheet::ParseExcel.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Exploitation in the wild
CISA added CVE-2023-7101 to the Known Exploited Vulnerabilities catalog on 2 January 2024 as "Spreadsheet::ParseExcel Remote Code Execution Vulnerability". Required action: Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable. Federal deadline 23 January 2024.
Affected products
3 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
Track CVE-2023-7101 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2023-7101), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.