PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-107212 qax-os CVE debrief

CVE-2026-107212 is a vulnerability in the Excelize library, which is a Go language library for reading and writing Microsoft Excel spreadsheets. The vulnerability occurs when the Rows.Columns function accepts a look-ahead row number above TotalRows without applying the limit enforced by Rows.Next. This can cause the GetRows function and the Rows iterator to loop for an extended period, allowing an attacker to consume a CPU core for an attacker-controlled duration.

Vendor
qax-os
Product
excelize
CVSS
HIGH 7.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-10-07
Original CVE updated
2026-10-07
Advisory published
2026-10-07
Advisory updated
2026-10-07

Who should care

Defenders responsible for Go language applications using the Excelize library should assess exposure and prioritize verification and patching to prevent potential CPU consumption attacks.

Why it matters

CVE-2026-107212 is a vulnerability in the Excelize library that can cause the GetRows function and the Rows iterator to loop for an extended period, allowing an attacker to consume a CPU core for an attacker-controlled duration. Defenders should prioritize verifying the Excelize library version and applying any available patches or updates to prevent potential CPU consumption attacks.

  • An attacker may be able to consume a CPU core for an extended period, potentially leading to denial-of-service conditions.
  • Defenders should verify the Excelize library version and apply patches or updates to prevent potential CPU consumption attacks.
  • The vulnerability requires verification of the Excelize library version and application of patches or updates to prevent exploitation.

Technical summary

The Excelize library is vulnerable to an unbounded row number issue in the Rows.Columns function, which can cause the GetRows function and the Rows iterator to loop for an extended period, allowing an attacker to consume a CPU core for an attacker-controlled duration. This occurs when the Rows.Columns function accepts a look-ahead row number above TotalRows without applying the limit enforced by Rows.Next. File.GetRows relies on Rows.Next and Rows.Columns, but Rows.Columns consumes the row r attribute without the limit check in Rows.Next. When a crafted worksheet places an oversized row number after an ordinary valid row and the application calls GetRows or iterates Rows, the iterator advances through every

Defensive priority

Defenders should prioritize verifying the Excelize library version and applying any available patches or updates to prevent potential CPU consumption attacks.

Recommended defensive actions

  • Verify the Excelize library version and apply any available patches or updates.
  • Implement input validation and sanitization to prevent crafted worksheets from being processed.
  • Monitor system resources for unusual CPU consumption patterns.
  • Review compensating controls for exposed systems while remediation is scheduled and verified.
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review.
  • Track exceptions, retest remediated assets, and close the item only after evidence is documented.
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.

Evidence notes

The vulnerability is caused by the Rows.Columns function not applying the limit enforced by Rows.Next, allowing an attacker to consume a CPU core for an extended period. This issue arises when a crafted worksheet places an oversized row number after an ordinary valid row. The Excelize library does not properly handle this scenario, leading to potential denial-of-service conditions. Defenders should verify the Excelize library version and apply patches or updates to prevent potential CPU consumption attacks. The vulnerability requires

Sources and references

Verified primary and authoritative sources

  • CVE-2026-107212 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-107212

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-107212 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-107212

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Excelize: Unbounded row number in Rows.Columns makes GetRows and the Rows iterator loop for days

    Unverified legacy reference

    URL: https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/107xxx/CVE-2026-107212.json

    cve_program_cvelist_v5

  • Source reference

    Unverified legacy reference

    URL: https://github.com/qax-os/excelize/security/advisories/GHSA-jw42-f3rr-4cc3

    Supplemental source - x_refsource_CONFIRM

  • Source reference

    Unverified legacy reference

    URL: https://github.com/qax-os/excelize/pull/2438

    Supplemental source - x_refsource_MISC

  • Source reference

    Unverified legacy reference

    URL: https://github.com/qax-os/excelize/commit/01a9ff32fb3c1f873cf01205e1b8a3285b0e1d23

    Supplemental source - x_refsource_MISC

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.