CVE-2026-91159

Estado: AplazadaAlta (7.7)—PoC
Gravedad7.7Alta · CVSS 3.1
Probabilidad de explotación0.43 %mayor que el 37 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoDisponiblePrueba de concepto en GitHub (no verificada)

Discourse es una plataforma de debate de código abierto. Antes de las versiones 2026.9.0, 2026.8.1, 2026.7.3 y 2026.1.9, el procesamiento de oEmbed trataba como confiable un fragmento HTML completo controlado por el atacante cuando el fragmento contenía un iframe cuyo origen coincidía con la lista de permitidos configurada.

Leer descripción completaMostrar menos

Un usuario con permiso para publicar que controlara una página web pública y su respuesta oEmbed podía combinar un iframe permitido con HTML o CSS hermano no relacionado, provocando que aparecieran superposiciones visuales almacenadas u otro contenido con estilos en el contenido de las publicaciones, y permitiendo interfaces de usuario engañosas o fraudulentas. La explotación requiere una cuenta con permiso para publicar, el control de la página web recuperada y de la respuesta oEmbed, y un origen de iframe incluido en la lista de permitidos. El problema afecta a la integridad del contenido, pero no expone datos restringidos, no interrumpe la disponibilidad ni requiere interacción con la Política de Seguridad de Contenido de Discourse. Este problema está corregido en las versiones 2026.9.0, 2026.8.1, 2026.7.3 y 2026.1.9.

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

CVSS

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

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
0.43 %
Percentil entre todas las CVEs puntuadas
37
Fecha de la puntuación
20/10/2026

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).

Exploits públicos

Hay código de explotación o plantillas de detección públicos. No es lo mismo que explotación activa confirmada (KEV), pero aumenta el riesgo: parchee con prioridad.

⚠️ Las pruebas de concepto de GitHub no están verificadas: algunas son falsas o contienen malware. No las ejecute nunca fuera de un laboratorio aislado.

Técnicas ATT&CK

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

Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.

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-91159",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-91159",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-20T01:33:46.177897Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "CHANGED",
          "version": "3.1",
          "baseScore": 7.7,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 4,
        "exploitabilityScore": 3.1
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "discourse",
          "product": "discourse",
          "versions": [
            {
              "status": "affected",
              "version": "< 2026.1.9"
            },
            {
              "status": "affected",
              "version": ">= 2026.7.0-latest, < 2026.7.3"
            },
            {
              "status": "affected",
              "version": ">= 2026.8.0-latest, < 2026.8.1"
            },
            {
              "status": "affected",
              "version": ">= 2026.9.0-latest, < 2026.9.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-14T16:17:56.613",
  "references": [
    {
      "url": "https://github.com/discourse/discourse/commit/0953b31f5c2949d7d6ab5f6dc4c5e2f1b8bf0b22",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/discourse/discourse/commit/3fc2bad6cdca47b00958330d1ee612aa141b039a",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/discourse/discourse/commit/dde8bc4fb6200139f5eff7e100b0f3e829d37ab3",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/discourse/discourse/commit/ed6f83f123d1a4c6c6c7e64c8a2233e3cb6a28d7",
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/discourse/discourse/security/advisories/GHSA-f9jx-vv33-4282",
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Discourse is an open-source discussion platform. Prior to 2026.9.0, 2026.8.1, 2026.7.3, and 2026.1.9, oEmbed processing treated an entire attacker-controlled HTML fragment as trusted when the fragment contained an iframe whose source matched the configured allowlist. A user with posting permission who controlled a public webpage and its oEmbed response could combine an allowlisted iframe with unrelated sibling HTML or CSS, causing stored visual overlays or other styled content to appear in post content and enabling misleading or fraudulent user interfaces. Exploitation requires a posting account, control of the fetched webpage and oEmbed response, and an allowlisted iframe source. The issue affects content integrity but does not expose restricted data, disrupt availability, or require interaction with Discourse Content Security Policy. This issue is fixed in versions 2026.9.0, 2026.8.1, 2026.7.3, and 2026.1.9."
    }
  ],
  "lastModified": "2026-10-20T02:17:13.347",
  "sourceIdentifier": "security-advisories@github.com"
}