« Volver al listado

CVE-2026-107218

Estado: AnalizadaMedia (5.3)—

Excelize es una biblioteca en lenguaje Go para leer y escribir hojas de cálculo de Microsoft Excel. Desde la 2.10.1 hasta la 2.11.0, RIGHT valida la longitud solicitada con recuentos de unidades de código UTF-16, pero recorta un array de runas usando recuentos de puntos de código Unicode. RIGHT llega a leftRight a través de CalcCellValue, donde countUTF16String valida en una unidad pero utf8.RuneCountInString proporciona el índice del slice en otra.

Leer descripción completaMostrar menos

Cuando RIGHT evalúa texto de planos suplementarios con un número de caracteres solicitado entre el recuento de runas y el recuento de unidades de código UTF-16, las unidades incoherentes producen un índice negativo en el slice de runas, lo que permite a un atacante provocar un panic durante la evaluación de fórmulas. 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.

Vulnerabilidad en librería de lectura Excel accesible remotamente (AV:N, PR:N) que causa panic en evaluación de fórmulas con texto supplementary-plane, resultando en DoS de la aplicación.

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-107218",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-107218",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-07T22:03:39.825103Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.3,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "LOW",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 1.4,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "qax-os",
          "product": "excelize",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.10.1, <= 2.11.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-07T19:17:34.120",
  "references": [
    {
      "url": "https://github.com/qax-os/excelize/commit/ecd99d761fe0489f1ed308e2f7dc2e0502d1a396",
      "tags": [
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/qax-os/excelize/pull/2390",
      "tags": [
        "Issue Tracking",
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/qax-os/excelize/security/advisories/GHSA-8jjq-8j9w-m2v6",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-129"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.10.1 to 2.11.0, RIGHT validates the requested length with UTF-16 code-unit counts but slices a rune array using Unicode code-point counts. RIGHT reaches leftRight through CalcCellValue, where countUTF16String validates one unit but utf8.RuneCountInString supplies the slice index in another. When RIGHT evaluates supplementary-plane text with a requested character count between the rune count and UTF-16 code-unit count, the inconsistent units produce a negative rune-slice index, allowing an attacker to panic during formula evaluation. No fixed version is available as of this review."
    }
  ],
  "lastModified": "2026-10-13T14:23:29.317",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:excelize:excelize:*:*:*:*:*:go:*:*",
              "vulnerable": true,
              "matchCriteriaId": "94175A32-9835-4E61-B850-3CF995A3A909",
              "versionEndIncluding": "2.11.0",
              "versionStartIncluding": "2.10.1"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}