# CVE-2026-115943: Spreadsheet::XLSX remote code execution via format condition eval

Source: https://junglewise.ai/threats/cve-2026-115943-spreadsheet-xlsx-versions-before-0-19-for-perl-allow-code  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-29. Updated: 2026-10-29  
License: CC BY 4.0 with a link back

CVE-2026-115943 · Severity: info · Published 2026-10-29

Spreadsheet::XLSX is a Perl library that reads Excel spreadsheet files. Versions before 0.19 contain a code execution vulnerability in how they process number format conditions from XLSX files. An attacker can craft a malicious spreadsheet that executes arbitrary Perl code when the file is parsed, potentially compromising any system that processes untrusted XLSX files with this library.

Vendors: [CPAN](https://junglewise.ai/threats/vendors/cpan).

## Quick answers

**Is CVE-2026-115943 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115943 being exploited in the wild.

**How severe is CVE-2026-115943?** Informational severity, published 29 October 2026.

**Which products and versions are affected?** CPAN Spreadsheet::XLSX before 0.19.

**Is there a fix for CVE-2026-115943?** Yes: fixed in 0.19. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115943 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115943?** Check whether you run CPAN Spreadsheet::XLSX at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 0.19

## Technical details

The vulnerability exists in the ExcelFmt component, which uses string eval() to evaluate number format conditions (e.g., [>100]) extracted directly from the XLSX file without sanitization. An attacker can inject arbitrary Perl code into a format condition string, which executes during Spreadsheet::XLSX->new() parsing. The fix in version 0.19 replaces the string eval with strict numeric comparisons, eliminating code execution.

## Affected products

- CPAN Spreadsheet::XLSX before 0.19

## Timeline

- 2026-10-29: disclosed
- 2026-10-29: patched

## References

- [https://cpan.org/modules](https://cpan.org/modules)
- [https://metacpan.org/release/ASB/Spreadsheet-XLSX-0.19/changes](https://metacpan.org/release/ASB/Spreadsheet-XLSX-0.19/changes)
