« Volver al listado

CVE-2026-107212

Estado: AnalizadaAlta (7.5)—

Excelize es una biblioteca en lenguaje Go para leer y escribir hojas de cálculo de Microsoft Excel. Desde la 2.1.0 hasta la 2.11.0, Rows.Columns acepta un número de fila anticipado superior a TotalRows sin aplicar el límite que impone Rows.Next. File.GetRows se basa en Rows.Next y Rows.Columns, pero Rows.Columns consume el atributo r de la fila sin la comprobación de límite de Rows.Next.

Leer descripción completaMostrar menos

Cuando una hoja manipulada coloca un número de fila excesivamente grande después de una fila válida normal y la aplicación llama a GetRows o itera Rows, el iterador avanza por cada número de fila ausente en lugar de rechazar el libro, lo que permite a un atacante consumir un núcleo de CPU durante el tiempo que él decida. No hay ninguna versión corregida disponible en el momento de esta revisión.

Traducción automática del texto original de NVD (en inglés).

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vector AV:N/PR:N/UI:N permite explotación remota sin privilegios (T1190). CWE-770 y descripción explícita de consumo de CPU indefinido por fila malformada en Excel = DoS de recursos (T1499.004).

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-107212",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-107212",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-07T17:56:16.346533Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "qax-os",
          "product": "excelize",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.1.0, <= 2.11.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-07T18:17:18.670",
  "references": [
    {
      "url": "https://github.com/qax-os/excelize/commit/01a9ff32fb3c1f873cf01205e1b8a3285b0e1d23",
      "tags": [
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/qax-os/excelize/pull/2438",
      "tags": [
        "Issue Tracking",
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/qax-os/excelize/security/advisories/GHSA-jw42-f3rr-4cc3",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Primary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-770"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.1.0 to 2.11.0, Rows.Columns 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 missing row number instead of rejecting the workbook, allowing an attacker to consume a CPU core for an attacker-controlled duration. No fixed version is available as of this review."
    }
  ],
  "lastModified": "2026-10-13T14:24:29.523",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:excelize:excelize:*:*:*:*:*:go:*:*",
              "vulnerable": true,
              "matchCriteriaId": "4AA0C5E8-2455-4F63-93FB-6A20E9C7E2CE",
              "versionEndIncluding": "2.11.0",
              "versionStartIncluding": "2.1.0"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}