Aviso de seguridad de Hong Kong XSS en AddFunc(CVE20262305)

Cross Site Scripting (XSS) en el plugin AddFunc Head & Footer Code de WordPress





AddFunc Head & Footer Code XSS (CVE-2026-2305) — What WordPress Site Owners Need to Know


Nombre del plugin Código de encabezado y pie de página de AddFunc
Tipo de vulnerabilidad Scripting entre sitios (XSS)
Número CVE CVE-2026-2305
Urgencia Baja
Fecha de publicación de CVE 2026-04-10
URL de origen CVE-2026-2305

Código de encabezado y pie de página de AddFunc XSS (CVE-2026-2305): Lo que los propietarios de sitios de WordPress necesitan saber

Fecha: 10 de abril de 2026 — Severidad: Baja (CVSS 6.5) — Versiones afectadas: ≤ 2.3 — Parcheado en: 2.4 — Privilegio requerido: Colaborador (autenticado)

Resumen: Un problema de scripting entre sitios almacenado (XSS) autenticado en el código de encabezado y pie de página de AddFunc (versiones hasta 2.3) permite a un usuario de nivel colaborador guardar cargas útiles similares a scripts a través de campos personalizados que pueden ser renderizados sin sanitizar más tarde. Esta nota proporciona un desglose pragmático y centrado en el practicante del riesgo, detección, limpieza y pasos de mitigación desde la perspectiva de un experto en seguridad con sede en Hong Kong.

Resumen ejecutivo — qué sucedió y por qué es importante

  • El plugin permitía que el contenido proporcionado por el usuario desde los campos personalizados de las publicaciones se incluyera en la salida sin suficiente sanitización o escape.
  • Un usuario autenticado con privilegios de Contribuyente (capaz de crear o editar publicaciones y agregar campos personalizados) podría guardar contenido que contenga etiquetas de script o controladores de eventos.
  • Si ese contenido se renderiza más tarde en el front-end o dentro de las pantallas de administración sin el escape adecuado, el script almacenado se ejecuta en el navegador del espectador.
  • El impacto depende del contexto de renderizado:
    • La ejecución en el front-end puede afectar a los visitantes (redirecciones maliciosas, suplantación de formularios, inyección de mineros de criptomonedas, manipulación de contenido).
    • La ejecución en las páginas de administración puede dirigirse a usuarios con privilegios más altos y llevar a la toma de control de cuentas, cambios en la configuración, modificaciones de plugins/temas o puertas traseras.
  • El plugin fue corregido en la versión 2.4. Actualizar a 2.4+ es la remediación correcta y principal.

Por qué un Contribuyente puede ser peligroso — modelo de amenaza del mundo real

Los propietarios de sitios a menudo asumen que los Contribuyentes son de bajo riesgo porque no pueden publicar. Eso es cierto para los flujos de trabajo de publicación, pero los Contribuyentes típicamente pueden crear publicaciones, editar borradores y agregar campos personalizados (si la configuración del sitio lo permite). El XSS almacenado en campos personalizados es peligroso porque la carga útil es persistente y se ejecutará siempre que se renderice sin escape.

Puntos clave:

  • Persistencia: el contenido malicioso se almacena en la base de datos y puede ser activado más tarde.
  • Amplificación de privilegios: si los usuarios administradores ven el contenido infectado en el panel, un atacante puede pivotar utilizando la sesión autenticada del administrador.
  • Los vectores de ataque reales incluyen CSRF combinado con XSS para realizar acciones privilegiadas (crear cuentas de administrador, cambiar opciones, instalar código).

Flujo de explotación típico (alto nivel, no accionable)

  1. El atacante registra o compromete una cuenta de Contribuyente.
  2. El atacante guarda una publicación o borrador e inyecta contenido malicioso en un campo personalizado (por ejemplo, o cargas útiles de atributos como onerror=…).
  3. El contenido se almacena en postmeta.
  4. Cuando la publicación se renderiza en un contexto que muestra el campo sin sanitizar (front-end, vista previa de administrador, caja meta), el navegador ejecuta el JavaScript.
  5. Si un administrador ve la pantalla de administración afectada, el script puede realizar acciones privilegiadas utilizando la sesión del administrador (exfiltrar cookies, crear usuarios administradores, modificar archivos, instalar puertas traseras).

Algunos avisos indican “Interacción del usuario requerida” — en la práctica, la interacción puede ser tan simple como abrir el editor de publicaciones o un enlace de vista previa elaborado.

Pasos prácticos para proteger su sitio — acciones inmediatas (lista de verificación)

  1. Actualice el plugin — Si usas el código de encabezado y pie de página de AddFunc, actualiza a 2.4 o posterior de inmediato. Esta es la solución canónica.
  2. Si no puede actualizar de inmediato
    • Elimine o desactive temporalmente el complemento.
    • Restringa a los Contribuyentes de agregar o editar campos personalizados hasta que se aplique el parche.
    • Aplique parches virtuales a nivel de WAF si tiene esa capacidad (consulte la guía de WAF a continuación).
  3. Escanee en busca de contenido malicioso en campos personalizados

    Usa WP-CLI o consultas directas a la base de datos (con una copia de seguridad) para encontrar valores meta que contengan

  4. Audit user accounts — Verify Contributors and Editors; remove stale or suspicious accounts. Enforce strong passwords and 2FA for privileged roles.
  5. Check for signs of compromise — unknown admin accounts, unexpected plugin/theme files, modified files, scheduled tasks, or outbound connections.
  6. Rotate credentials if compromise is suspected — reset admin passwords, revoke API keys, and invalidate sessions.
  7. Backup before cleanup — take a full files+DB backup before making remediation changes to preserve evidence and allow rollback.
  8. Harden custom fields — require sanitization on save and escaping on output (see developer guidance below).

How to find malicious stored XSS entries safely

Always work from a full backup and start with read-only queries to identify suspicious entries, then review them manually.

# Find postmeta that contains