CVE DatabaseCVE-2023-7101
한국어 권고문 →
CVE-2023-71017.8/HIGHCISA KEVCWE-95CWE-94

Perl Spreadsheet::ParseExcel Arbitrary Code Execution Vulnerability Advisory (CVE-2023-7101)

⚡ Jump to Patch
Affected Vendors
perl
Affected Components
spreadsheet-parseexcel
Published Date
2023-12-24
CVSS v3.1
7.8
HIGH
EPSS (30d)
19.0%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

All applications utilizing Spreadsheet::ParseExcel library version 0.65 and prior

Impact

Remote attackers can execute arbitrary Perl code and gain full system privileges by tricking the application into parsing a specially crafted Excel file

Mitigation

Immediately upgrade the Spreadsheet::ParseExcel module to the patched version (0.66 or later)

Affected Products & Version Scope

Spreadsheet::ParseExcel version 0.65 and prior (Perl CPAN module)

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

Update the Spreadsheet::ParseExcel module to the latest secure version (0.66 or higher) using the CPAN package manager.

bash
# Upgrade the module via CPAN
perl -MCPAN -e 'install Spreadsheet::ParseExcel'

# Alternatively, using cpanm (CPAN minus)
cpanm --force Spreadsheet::ParseExcel

2. Temporary Workaround & Hardening Configuration

If patching cannot be applied immediately, restrict or disable Excel file uploads from untrusted sources. Implement strict egress filtering on the servers running the Perl parser to prevent reverse shell connections in case of exploitation.

bash
# Restrict outbound connections for the web server user (e.g., 'www-data')
iptables -A OUTPUT -m owner --uid-owner www-data -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner www-data -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner www-data -j DROP

3. Log Audit & IoC Verification Commands

Run the following commands to check the installed version of the module and inspect the codebase for the vulnerable pattern.

bash
# Check the installed version of Spreadsheet::ParseExcel
perl -MSpreadsheet::ParseExcel -e 'print $Spreadsheet::ParseExcel::VERSION . "\
"'

# Search for the vulnerable eval pattern in Utility.pm
find / -name "Utility.pm" 2>/dev/null | xargs grep -n "eval.*format"
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Snyk Open Source & Container Security
This vulnerability is actively exploited in the wild; immediately upgrade Spreadsheet::ParseExcel to version 0.66 or later.

Scan Your Repositories for Transitive Vulnerable Dependencies in 30 Seconds

Automatically detect vulnerable packages across npm, PyPI, Maven, and Go, and open automated fix Pull Requests without breaking your build.

Free Forever Tier · 1-Click GitHub/GitLab Auto-PR
Master DevSecOps: Automated SAST/SCA in GitHub Actions & Kubernetes
View Course Curriculum

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability (CVE-2023-7101) is an arbitrary code execution (ACE) vulnerability in Spreadsheet::ParseExcel, a widely used Perl module for parsing Excel files. The root cause lies in the evaluation of Number format strings within the Excel parsing logic. Specifically, the module passes unvalidated input from a file into a string-type eval statement within the Utility.pm component, leading to code injection.

2. Exploitation Mechanics & Attack Scenario

An attacker crafts a malicious Excel file (.xls) containing a specially designed Number format string. When the target application parses this file using Spreadsheet::ParseExcel, the parsing engine processes the format string. Due to the lack of input validation, the malicious payload is directly evaluated by Perl's eval function. This bypasses application controls, allowing the attacker to execute arbitrary system commands under the security context of the running Perl process (CWE-94 / CWE-95).

3. Infrastructure & Business Impact

As this vulnerability is listed in the CISA KEV catalog, it has been actively exploited in the wild. Since Spreadsheet::ParseExcel is commonly integrated into email gateways, file upload portals, and automated financial processing pipelines, successful exploitation can grant attackers initial access to internal networks. This can lead to severe consequences, including lateral movement, data exfiltration, and ransomware deployment.

Official Vendor Advisories & References

Frequently Asked SecOps Questions (CVE-2023-7101)

FAQ

Q1. How critical is CVE-2023-7101 and is it actively exploited in the wild?

CVE-2023-7101 is rated CVSS 7.8 (HIGH) with a 30-day EPSS exploitation probability of 19.0%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2023-7101?

Primary impacted vendors include perl across spreadsheet-parseexcel. Scope summary: Spreadsheet::ParseExcel version 0.65 and prior (Perl CPAN module)

Q3. What temporary mitigations or workarounds exist for CVE-2023-7101 before patching?

[Mitigation] Immediately upgrade the Spreadsheet::ParseExcel module to the patched version (0.66 or later) Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2023-7101

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (perl)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2023-7101 Perl Spreadsheet::ParseExcel Arbitrary Code Execution Vulnerability Advisory (CVE-2023-7101) (CVSS 7.8) - Patch & Workaround | CVE Pulse