« Volver al listado

CVE-2026-26078

Estado: AnalizadaAlta (7.5)—

Discourse is an open source discussion platform. Prior to versions 2025.12.2, 2026.1.1, and 2026.2.0, when the `patreon_webhook_secret` site setting is blank, an attacker can forge valid webhook signatures by computing an HMAC-MD5 with an empty string as the key. Since the request body is known to the sender, the attacker can produce a matching signature and send arbitrary webhook payloads. This allows unauthorized creation, modification, or deletion of Patreon pledge data and triggering patron-to-group synchronization.

Leer descripción completaMostrar menos

This vulnerability is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0. The fix rejects webhook requests when the webhook secret is not configured, preventing signature forgery with an empty key. As a workaround, configure the `patreon_webhook_secret` site setting with a strong, non-empty secret value. When the secret is non-empty, an attacker cannot forge valid signatures without knowing the secret.

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 aplicación web expuesta (AV:N/AC:L/PR:N): falsificación de firma HMAC-MD5 con clave vacía para manipular webhooks Patreon, creando/modificando datos de suscriptores y sincronización de grupos (T1565.002). Impacto secundario en gestión de cuentas (T1098.003) al alterar asociaciones

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-26078",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-26078",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-02-27T16:17:31.887667Z"
        }
      }
    ],
    "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:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "discourse",
          "product": "discourse",
          "versions": [
            {
              "status": "affected",
              "version": "< 2025.12.2"
            },
            {
              "status": "affected",
              "version": ">= 2026.1.0-latest, < 2026.1.1"
            },
            {
              "status": "affected",
              "version": ">= 2026.2.0-latest, < 2026.2.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-02-26T16:24:06.997",
  "references": [
    {
      "url": "https://github.com/discourse/discourse/security/advisories/GHSA-frx4-wg35-4r68",
      "tags": [
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-639"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Discourse is an open source discussion platform. Prior to versions 2025.12.2, 2026.1.1, and 2026.2.0, when the `patreon_webhook_secret` site setting is blank, an attacker can forge valid webhook signatures by computing an HMAC-MD5 with an empty string as the key. Since the request body is known to the sender, the attacker can produce a matching signature and send arbitrary webhook payloads. This allows unauthorized creation, modification, or deletion of Patreon pledge data and triggering patron-to-group synchronization. This vulnerability is patched in versions 2025.12.2, 2026.1.1, and 2026.2.0. The fix rejects webhook requests when the webhook secret is not configured, preventing signature forgery with an empty key. As a workaround, configure the `patreon_webhook_secret` site setting with a strong, non-empty secret value. When the secret is non-empty, an attacker cannot forge valid signatures without knowing the secret."
    },
    {
      "lang": "es",
      "value": "Discourse es una plataforma de discusión de código abierto. Antes de las versiones 2025.12.2, 2026.1.1 y 2026.2.0, cuando la configuración del sitio 'patreon_webhook_secret' está en blanco, un atacante puede falsificar firmas de webhook válidas calculando un HMAC-MD5 con una cadena vacía como clave. Dado que el cuerpo de la solicitud es conocido por el remitente, el atacante puede producir una firma coincidente y enviar cargas útiles de webhook arbitrarias. Esto permite la creación, modificación o eliminación no autorizada de datos de promesas de Patreon y el desencadenamiento de la sincronización de mecenas a grupo. Esta vulnerabilidad está parcheada en las versiones 2025.12.2, 2026.1.1 y 2026.2.0. La corrección rechaza las solicitudes de webhook cuando el secreto de webhook no está configurado, evitando la falsificación de firmas con una clave vacía. Como solución alternativa, configure la configuración del sitio 'patreon_webhook_secret' con un valor secreto fuerte y no vacío. Cuando el secreto no está vacío, un atacante no puede falsificar firmas válidas sin conocer el secreto."
    }
  ],
  "lastModified": "2026-06-17T10:25:41.870",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "6DB837D7-28C8-4E0F-B55F-AAAA36F32035",
              "versionEndExcluding": "2025.12.0"
            },
            {
              "criteria": "cpe:2.3:a:discourse:discourse:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "1CAFCC9D-53D7-4017-85A5-EE6CA5A6A11C",
              "versionEndExcluding": "2026.1.1",
              "versionStartIncluding": "2026.1.0"
            },
            {
              "criteria": "cpe:2.3:a:discourse:discourse:2026.2.0:*:*:*:latest:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "BB002FDC-BC71-4C46-8AAF-A34EC717E0E7"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}