← Vulnerability feed

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.

7.8 CVSS 3.1 High CISA KEV since 2 Jan 2024 EPSS 19% · top 2.8% CWE-95 · CWE-95CWE-94 · Code injection
7.8CVSS 3.1 base score
19%EPSS exploitation probability, 30 days
YesIn CISA KEV, fix deadline passed
3Affected product versions listed by NVD
23References
17 Jun 2026Last modified by NVD

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

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 17 September 2026. Confidence: high.

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

LinkTags
http://www.openwall.com/lists/oss-security/2023/12/29/4 Mailing ListPatchThird Party Advisory
https://github.com/jmcnamara/spreadsheet-parseexcel/blob/c7298592e102a375d43150cd002feed806557c15/lib/Spreadsheet/ParseE Product
https://github.com/mandiant/Vulnerability-Disclosures/blob/master/2023/MNDT-2023-0019.md Third Party Advisory
https://https://github.com/haile01/perl_spreadsheet_excel_rce_poc Broken LinkThird Party Advisory
https://https://github.com/jmcnamara/spreadsheet-parseexcel/commit/bd3159277e745468e2c553417b35d5d7dc7405bc Broken LinkPatch
https://https://metacpan.org/dist/Spreadsheet-ParseExcel Broken LinkProduct
https://https://www.cve.org/CVERecord?id=CVE-2023-7101 Broken LinkThird Party Advisory
https://lists.debian.org/debian-lts-announce/2023/12/msg00025.html Mailing List
https://lists.fedoraproject.org/archives/list/[email protected]/message/IFEHKULQRVXHIV7XXK2RGD4VQ Broken LinkMailing List
https://lists.fedoraproject.org/archives/list/[email protected]/message/M2FIWDHRYTAAQLGM6AFOZVM7A Broken LinkMailing List
https://security.metacpan.org/2024/02/10/vulnerable-spreadsheet-parsing-modules.html Third Party Advisory
http://www.openwall.com/lists/oss-security/2023/12/29/4 Mailing ListPatchThird Party Advisory
https://github.com/jmcnamara/spreadsheet-parseexcel/blob/c7298592e102a375d43150cd002feed806557c15/lib/Spreadsheet/ParseE Product
https://github.com/mandiant/Vulnerability-Disclosures/blob/master/2023/MNDT-2023-0019.md Third Party Advisory
https://https://github.com/haile01/perl_spreadsheet_excel_rce_poc Broken LinkThird Party Advisory
https://https://github.com/jmcnamara/spreadsheet-parseexcel/commit/bd3159277e745468e2c553417b35d5d7dc7405bc Broken LinkPatch
https://https://metacpan.org/dist/Spreadsheet-ParseExcel Broken LinkProduct
https://https://www.cve.org/CVERecord?id=CVE-2023-7101 Broken LinkThird Party Advisory
https://lists.debian.org/debian-lts-announce/2023/12/msg00025.html Mailing List
https://lists.fedoraproject.org/archives/list/[email protected]/message/IFEHKULQRVXHIV7XXK2RGD4VQ Broken LinkMailing List
https://lists.fedoraproject.org/archives/list/[email protected]/message/M2FIWDHRYTAAQLGM6AFOZVM7A Broken LinkMailing List
https://security.metacpan.org/2024/02/10/vulnerable-spreadsheet-parsing-modules.html Third Party Advisory
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2023-7101 US Government Resource

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.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed9.8CVE-2024-4577PHP-CGI on Windows argument injection leads to remote code executionPHP-CGI on Windows can misinterpret characters in the command line passed to Win32 API functions when certain code pages are configured, due to Windo…KEVEPSS 100%analysed

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.