CVE-2026-112951

Estado: RecibidaMedia (5.4)—
Gravedad5.4Media · CVSS 3.1
Probabilidad de explotación—en los próximos 30 días
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

ApostropheCMS es un sistema de gestión de contenidos de código abierto basado en Node.js. Antes de la versión 4.34.0, el campo de color acepta contenido adicional tras un prefijo rgb() o hsl() válido, porque su validación con TinyColor no exige que todo el valor coincida con un color. Un usuario autenticado con derechos de edición puede almacenar HTML arbitrario después de un prefijo de color válido. Cuando se muestra el valor almacenado, la carga útil se ejecuta, lo que provoca un XSS almacenado. Este problema se ha corregido en la versión 4.34.0.

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

CVSS

Puntuación base
5.4
Versión
3.1
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

Probabilidad de explotación (EPSS)

FIRST aún no ha puntuado esta CVE (habitual en CVEs muy recientes o rechazadas).

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.

CWE-79 almacenado: el texto indica que el HTML arbitrario tras un prefijo rgb()/hsl() válido se ejecuta al renderizar, sin nombrar JavaScript explícitamente.

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)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

CWE

Referencias

Mostrar las 5 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-112951",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-112951",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-20T16:42:47.280895Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 5.4,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N",
          "integrityImpact": "LOW",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "LOW"
        },
        "impactScore": 2.7,
        "exploitabilityScore": 2.3
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "apostrophecms",
          "product": "apostrophe",
          "versions": [
            {
              "status": "affected",
              "version": "< 4.34.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-20T16:17:05.940",
  "references": [
    {
      "url": "https://github.com/apostrophecms/apostrophe/commit/06e4b377f3c360f9e89c32dccd7e505ad5ddf498",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/apostrophecms/apostrophe/commit/40b989b1a9dd23d30029b8ce7668634265cfe5ea",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/apostrophecms/apostrophe/releases/tag/apostrophe@4.34.0",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-vmgj-9cwm-cf3h",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-vmgj-9cwm-cf3h",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ],
  "vulnStatus": "Received",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "ApostropheCMS is an open-source Node.js content management system. Prior to 4.34.0, the color field accepts trailing content after a valid rgb() or hsl() prefix because its TinyColor validation does not require the entire value to match a color. An authenticated user with edit rights can store arbitrary HTML after a valid color prefix. When the stored value is rendered, the payload executes, resulting in stored XSS. This issue is fixed in version 4.34.0."
    }
  ],
  "lastModified": "2026-10-20T17:17:32.727",
  "sourceIdentifier": "security-advisories@github.com"
}