CVE-2026-115943
Spreadsheet::XLSX versions before 0.19 for Perl allow code execution via string eval of number format conditions in ExcelFmt
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
Spreadsheet::XLSX versions before 0.19 for Perl allow code execution via string eval of number format conditions in ExcelFmt
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.
- Record
CVE-2026-115943- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-95
- Updated
- 2026-11-05
EUVDEUVD-2026-113403
9.8
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.
- Record
EUVD-2026-113403- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-05
GitHub AdvisoriesGHSA-h33r-pwjw-x33j
9.8
Spreadsheet::XLSX versions before 0.19 for Perl allow code execution via string eval of number...
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.
- Record
GHSA-h33r-pwjw-x33j- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-95
- Updated
- 2026-11-06
NVD
9.8
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.
- Record
CVE-2026-115943- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-95
- Updated
- 2026-11-05
OSVDEBIAN-CVE-2026-115943
9.8
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.
- Record
DEBIAN-CVE-2026-115943- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-115943
9.8
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.
- Record
UBUNTU-CVE-2026-115943- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-07
OSVopenSUSE-SU-2026:12367-1 No score
perl-Spreadsheet-XLSX-0.200.0-1.1 on GA media
These are all security issues fixed in the perl-Spreadsheet-XLSX-0.200.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12367-1- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libspreadsheet-xlsx-perlDebian:12 |
All versions, plus listed versions 0.17-10.18-10.20-1 |
None known |
libspreadsheet-xlsx-perlDebian:13 |
All versions, plus listed versions 0.18-10.20-1 |
None known |
libspreadsheet-xlsx-perlDebian:14 |
before 0.20-1, plus listed versions 0.18-1 |
0.20-1 |
libspreadsheet-xlsx-perlUbuntu:16.04:LTS |
All versions, plus listed versions 0.13-10.15-1 |
None known |
libspreadsheet-xlsx-perlUbuntu:18.04:LTS |
All versions, plus listed versions 0.15-1 |
None known |
libspreadsheet-xlsx-perlUbuntu:20.04:LTS |
All versions, plus listed versions 0.15-2 |
None known |
libspreadsheet-xlsx-perlUbuntu:22.04:LTS |
All versions, plus listed versions 0.15-20.16-10.17-1 |
None known |
libspreadsheet-xlsx-perlUbuntu:24.04:LTS |
All versions, plus listed versions 0.17-1 |
None known |
libspreadsheet-xlsx-perlUbuntu:26.10 |
All versions, plus listed versions 0.18-1 |
None known |
libspreadsheet-xlsx-perlUbuntu:26.04:LTS |
All versions, plus listed versions 0.18-1 |
None known |
perl-Spreadsheet-XLSXopenSUSE:Tumbleweed |
before 0.200.0-1.1 | 0.200.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| severity | CVE List, OSV | |
| affected, aliases, references | OSV | |
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-115943 is a critical vulnerability (CVSS 9.8) in libspreadsheet-xlsx-perl, published October 29, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.61%, the 49th percentile. Fixed in libspreadsheet-xlsx-perl 0.20-1.
References
metacpan.org/release/ASB/Spreadsheet-XLSX-0.19/changes
openwall.com/lists/oss-security/2026/10/30/3
nvd.nist.gov/vuln/detail/CVE-2026-115943
github.com/advisories/GHSA-h33r-pwjw-x33j
security-tracker.debian.org/tracker/CVE-2026-115943
ubuntu.com/security/CVE-2026-115943
cve.org/CVERecord?id=CVE-2026-115943
lists.security.metacpan.org/cve-announce/msg/44746764
suse.com/security/cve/CVE-2026-115943