CVE-2026-104798

Estado: AplazadaCrítica (9.8)—
Gravedad9.8Crítica · CVSS 3.1
Probabilidad de explotación0.89 %mayor que el 59 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

El plugin My Calendar – Accessible Event Manager para WordPress es vulnerable a una escalada de privilegios en todas las versiones hasta la 3.8.7 inclusive. El parámetro GET público `mcs` se refleja en el contenido de las entradas sin sanitizar antes de que se ejecute el filtro `do_shortcode` del núcleo de WordPress, lo que permite a un atacante no autenticado inyectar un shortcode anidado `[my_calendar above=...]`; a continuación, `mc_generate_calendar_nav()` divide el atributo `above` por comas y envía cada elemento mediante `call_user_func()` sin ninguna comprobación de autenticación, autorización o lista de funciones permitidas. Esto hace posible que atacantes no autenticados invoquen funciones PHP arbitrarias cargadas, habilitando una cadena de llamadas en la que el array `$params` del shortcode se pasa a `edit_user()`, que PHP convierte al entero `1` como argumento `$user_id`, sobrescribiendo las credenciales de la cuenta de Administrador inicial (ID de usuario 1) y concediendo al atacante acceso completo a wp-admin. La explotación es trivialmente alcanzable a través de la página `/my-calendar/` generada automáticamente por el plugin, que es de acceso público por defecto al activar el plugin.

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

CVSS

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

Probabilidad de explotación (EPSS)

Probabilidad de explotación en los próximos 30 días
0.89 %
Percentil entre todas las CVEs puntuadas
59
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).

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 sin autenticación; vía shortcode inyectado se invocan funciones PHP arbitrarias y edit_user() sobrescribe las credenciales del administrador ID 1, dando acceso wp-admin.

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 8 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-104798",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-104798",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-16T16:48:56.803700Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security@wordfence.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 9.8,
          "attackVector": "NETWORK",
          "baseSeverity": "CRITICAL",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 5.9,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security@wordfence.com",
      "affectedData": [
        {
          "vendor": "joedolson",
          "product": "My Calendar – Accessible Event Manager",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "versionType": "semver",
              "lessThanOrEqual": "3.4.24"
            },
            {
              "status": "affected",
              "version": "3.5",
              "versionType": "semver",
              "lessThanOrEqual": "3.5.21"
            },
            {
              "status": "affected",
              "version": "3.6",
              "versionType": "semver",
              "lessThanOrEqual": "3.6.17"
            },
            {
              "status": "affected",
              "version": "3.7",
              "versionType": "semver",
              "lessThanOrEqual": "3.7.17"
            },
            {
              "status": "affected",
              "version": "3.8",
              "versionType": "semver",
              "lessThanOrEqual": "3.8.7"
            }
          ],
          "defaultStatus": "unaffected"
        }
      ]
    }
  ],
  "published": "2026-10-16T05:17:28.580",
  "references": [
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-navigation.php#L248",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-navigation.php#L260",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-output.php#L1622",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-search.php#L170",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-search.php#L221",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/my-calendar/tags/3.8.6/my-calendar-shortcodes.php#L102",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3746389%40my-calendar&new=3746389%40my-calendar",
      "source": "security@wordfence.com"
    },
    {
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/e8aa6ee7-525e-4458-9f5b-1e729afe448c?source=cve",
      "source": "security@wordfence.com"
    }
  ],
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security@wordfence.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-269"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.8.7. The public `mcs` GET parameter is reflected into post content unsanitized before WordPress core's `do_shortcode` filter runs, allowing an unauthenticated attacker to inject a nested `[my_calendar above=...]` shortcode; `mc_generate_calendar_nav()` then splits the `above` attribute on commas and dispatches each element via `call_user_func()` with no authentication, authorization, or callable allowlist check. This makes it possible for unauthenticated attackers to invoke arbitrary loaded PHP functions, enabling a call chain in which the shortcode `$params` array is passed to `edit_user()` — which PHP coerces to integer `1` as the `$user_id` argument — overwriting the credentials of the initial Administrator account (user ID 1) and granting the attacker full wp-admin access. Exploitation is trivially reachable via the plugin's auto-generated `/my-calendar/` page, which is publicly accessible by default upon plugin activation."
    }
  ],
  "lastModified": "2026-10-16T18:17:20.360",
  "sourceIdentifier": "security@wordfence.com"
}