CVE-2026-115943: Spreadsheet::XLSX versions before 0.19 for Perl allow code execution via string eval of number format conditions in ExcelFmt

Published Oct 29, 2026

Spreadsheet::XLSX versions before 0.19 for Perl allow code execution via string eval of number format conditions in ExcelFmt.

When a number format has a condition such as [>100], ExcelFmt chooses the format section by passing the condition and the cell value to a string eval. Both come from the workbook, and the eval runs while Spreadsheet::XLSX->new parses it.

An attacker who supplies an XLSX file can run arbitrary Perl code.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/libspreadsheet-xlsx-perl to a version that resolves this vulnerability.

    Fixed in 0.20-1
  2. Upgrade

    Upgrade Spreadsheet::XLSX to a version that resolves this vulnerability.

    Fixed in 0.19

Event History

Oct 29, 2026
CVE Published
via MITRE·09:37 PM
Data Sourced
via MITRE·09:37 PM
RemedyDescriptionWeakness
Data Sourced
via NVD·10:17 PM
DescriptionWeakness
Data Sourced
via OSV·10:17 PM
DescriptionAffected Software

Frequently Asked Questions

1

What attacker access is required to exploit this issue?

An attacker needs to supply an XLSX workbook that is subsequently parsed by an application using the affected Perl library. Arbitrary Perl code can run during the Spreadsheet::XLSX->new parsing operation.

2

Which workbook content triggers the vulnerable path?

The vulnerable path is reached when a number format includes a condition, such as [>100]. The condition and cell value originate from the workbook and are passed to a string eval while ExcelFmt selects a format section.

3

What should be prioritized for remediation?

Upgrade Spreadsheet::XLSX to version 0.19 or later. Until upgrading is possible, avoid parsing XLSX files supplied by untrusted parties with affected versions.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203