Skip to content

← Actionable
Medium, CVSS 6.5amended

Excelize: A Zip64 uncompressed-size of 2^63 panics OpenFile/OpenReader

CVE-2026-107224GHSA-fw94-4wwp-w8pw

What to do

Vendor fix available. Upgrade each affected package to the fixed version on its release line (github.com/xuri/excelize/v2 2.11.1-0.20260805032953-db93f8d89de7), redeploy, then verify what is actually installed.

This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.

Affected packages

Sources

Severity and exploitation
Exploitation
No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
CVSS
6.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
EPSS
  • CVE-2026-107224: 0.31% estimated exploitation activity in the next 30 days; percentile 23.51 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description

As published by the source; long descriptions are shortened.

Summary A Zip64 uncompressed-size of 2^63 casts to a negative int64 that bypasses the unzip-size guard and reaches make([]byte, 0, negativeCap) A Zip64 uncompressed-size in the range [2^63, 2^64) casts to a negative int64 in zip.File.FileInfo().Size(), and ReadZipReader does signed arithmetic on that value, so the total-decompression guard is bypassed and the negative size reaches make([]byte, 0, size) in readFile. A 159-byte crafted file panics OpenFile and OpenReader with runtime error: makeslice: cap out of range. The guard, at lib.go:44-46 on HEAD ae2113b: FileInfo().Size() returns int64(UncompressedSize64). UncompressedSize64 is read from the Zip64 extended-information extra record in the central directory and is fully attacker controlled, so any value with the top bit set arrives as a negative int64. unzipSize then goes negative and the comparison against UnzipSizeLimit (default 1000 << 24, templates.go:193) is false no matter how many such entries the archive contains. The…

Dates and revisions
Published by the source
Last modified by the source
Source last checked
  1. Revision 2 · amended ·

    Amended from ghsa record GHSA-fw94-4wwp-w8pw

  2. Revision 1 · created ·

    Published from osv record GHSA-fw94-4wwp-w8pw

Agent brief

Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.

# Patch Next advisory brief: CVE-2026-107224

Advisory: Excelize: A Zip64 uncompressed-size of 2^63 panics OpenFile/OpenReader
IDs: CVE-2026-107224, GHSA-fw94-4wwp-w8pw
Record: https://patchnext.com/advisories/cve-2026-107224 (revision 2, source checked 26 Oct 2026, 15:29 UTC)
Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected.
Severity: Medium (CVSS 6.5)
Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV.
Vendor response: Vendor fix available; fixed versions by package: github.com/xuri/excelize/v2 2.11.1-0.20260805032953-db93f8d89de7. A vendor fix does not mean a deployment is fixed.

## Affected components
- Go github.com/xuri/excelize/v2: affected >= 2.1.0, < 2.11.1-0.20260805032953-db93f8d89de7; fixed in 2.11.1-0.20260805032953-db93f8d89de7

## Suggested inspection (read-only)
- Go github.com/xuri/excelize/v2: check the installed version with your package manager.

## Supported action
Upgrade each affected component to a fixed version on its release line. For a transitive dependency, upgrade the parent package or add an override or constraint, then regenerate the lockfile. Redeploy every environment that ran an affected version.

## Required regression checks
- Run the test suite and a production build.
- Exercise the features that depend on github.com/xuri/excelize/v2.
- Repeat the inspection and confirm that only fixed versions remain installed.

## Rollback considerations
- Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward.

## Unresolved questions
- Which deployments run an affected version?
- Exploitation status can change. Check again before lowering the priority.
- Mark the work resolved only after the fixed version is verified in production.

## Sources
- Verified: https://osv.dev/vulnerability/GHSA-fw94-4wwp-w8pw (OSV record GHSA-fw94-4wwp-w8pw lists affected ranges: Go github.com/xuri/excelize/v2 >=2.1.0 <2.11.1-0.20260805032953-db93f8d89de7 (fixed))
- Verified: https://github.com/advisories/GHSA-fw94-4wwp-w8pw (GitHub-reviewed advisory GHSA-fw94-4wwp-w8pw lists affected ranges: Go github.com/xuri/excelize/v2 >=2.1.0 <2.11.1-0.20260805032953-db93f8d89de7)

Commands are suggestions: review each one before running it.

Loading voting…