| Nombre del plugin | Calendario de reservas |
|---|---|
| Tipo de vulnerabilidad | Scripting entre sitios (XSS) |
| Número CVE | CVE-2025-12804 |
| Urgencia | Baja |
| Fecha de publicación de CVE | 2026-02-01 |
| URL de origen | CVE-2025-12804 |
Aviso de seguridad urgente: XSS almacenado en el plugin Booking Calendar (≤ 10.14.6) — Lo que los propietarios de sitios de WordPress deben hacer ahora
Resumen (perspectiva del consultor de seguridad de Hong Kong): El 2 de febrero de 2026 se divulgó públicamente una vulnerabilidad de scripting entre sitios almacenada (XSS) que afecta al plugin Booking Calendar para WordPress (CVE-2025-12804). Las versiones hasta e incluyendo 10.14.6 están afectadas; el problema se corrige en 10.14.7. Aunque muchas puntuaciones públicas etiquetan la gravedad técnica como baja, el riesgo práctico depende de la configuración del sitio, los roles y cómo se utiliza el plugin. Trate esto como una revisión operativa de alta prioridad si ejecuta Booking Calendar en cualquier sitio de acceso público o compartido.
- Software afectado: plugin Booking Calendar para WordPress (≤ 10.14.6)
- Vulnerabilidad: Scripting entre sitios almacenado (XSS) a través del shortcode bookingcalendar
- CVE: CVE-2025-12804
- Privilegio requerido para la explotación: Contribuyente (autenticado)
- Corregido en: 10.14.7
- Contexto de gravedad pública: CVSS 6.5 (se requiere interacción del usuario)
- Mejor acción inmediata: actualizar a 10.14.7 o posterior; si no puede actualizar de inmediato, aplique parches virtuales a través de un WAF y endurezca los roles.
¿Qué sucedió? Un resumen técnico conciso
El XSS almacenado ocurre cuando datos no confiables enviados por un usuario autenticado son guardados por la aplicación y luego se renderizan en páginas sin un escape o saneamiento adecuado. En este caso, se puede inyectar contenido malicioso en datos que luego son generados por el shortcode bookingcalendar del plugin. La carga útil almacenada se ejecutará en el contexto de los navegadores de los usuarios que visiten páginas donde se renderiza ese shortcode.
Puntos técnicos clave:
- El vector de inyección es a través del contenido que un usuario con privilegios de nivel Contribuyente puede crear o modificar.
- El contenido malicioso se persiste y luego se sirve a visitantes o administradores a través de la salida del shortcode.
- La explotación exitosa requiere que un usuario objetivo cargue la página afectada (interacción del usuario).
- El autor del plugin corrigió el problema en la versión 10.14.7 — actualice de inmediato donde sea posible.
Por qué esto importa — escenarios de amenaza realistas
El XSS almacenado es un primitivo poderoso porque los scripts ejecutados se ejecutan en el navegador de cualquiera que visite la página afectada y están limitados por la confianza de la víctima en el sitio. Para Booking Calendar, los riesgos realistas incluyen:
- Robo de sesión: un administrador o editor que visite una página afectada podría tener cookies o tokens de sesión dirigidos por JavaScript (a menos que las cookies estén correctamente marcadas como HttpOnly, Secure).
- Canalizaciones de escalada de privilegios: un colaborador inyecta un payload que se ejecuta solo para administradores; una vez que el navegador de un administrador está controlado, el atacante puede realizar acciones a través de la interfaz de usuario del administrador.
- Inyección de contenido / desfiguración: redirecciones, superposiciones falsas o contenido engañoso mostrado a los visitantes.
- SEO / envenenamiento de la cadena de suministro: inserción de enlaces maliciosos o de spam que dañan la reputación de búsqueda.
- Distribución de malware: redirigir o forzar descargas del navegador a hosts maliciosos.
La complejidad de la explotación no es trivial: el atacante requiere una cuenta de Colaborador (o superior) y una víctima para cargar la página. Sin embargo, los sitios que permiten registros públicos o contribuciones de invitados aumentan el riesgo práctico.
¿Quién está en riesgo?
- Sitios que ejecutan versiones de Booking Calendar ≤ 10.14.6.
- Sitios que permiten roles de Colaborador/Autor sin moderación estricta.
- Sitios que renderizan shortcodes de bookingcalendar en páginas visitadas por usuarios privilegiados o el público.
- Sitios que carecen de mitigaciones del lado del navegador (CSP, cookies HttpOnly, SameSite, encabezados de seguridad).
- Sitios sin protecciones perimetrales o parches virtuales mientras se aplican actualizaciones.
Acciones inmediatas para propietarios de sitios (paso a paso)
El orden importa: comience con verificaciones no disruptivas, luego contención y recuperación:
- Confirme la versión del plugin: En el panel de WordPress → Plugins, verifique la versión de Booking Calendar. Si es 10.14.7 o más reciente, no es vulnerable a este problema. Si no, continúe a continuación.
- Actualiza el plugin: Actualice Booking Calendar a 10.14.7 o posterior lo antes posible. Esta es la acción más efectiva. Si tiene entornos de prueba y pruebas automatizadas, verifique allí primero y luego actualice la producción rápidamente.
- Si no puede actualizar de inmediato: aplique parches virtuales / reglas perimetrales: Use su WAF o proxy inverso para bloquear entradas y patrones sospechosos. Las reglas correctamente ajustadas pueden prevenir XSS almacenado al rechazar entradas que incluyan etiquetas de script, atributos de eventos (onerror/onload) y URIs javascript: en campos que alimentan la salida de shortcode.
- Reduzca la exposición a través de roles de usuario: Restringa temporalmente quién puede publicar o editar contenido que será renderizado por el shortcode de bookingcalendar. Requiere revisión antes de publicar y desactive registros abiertos si es posible.
- Endurecer el acceso de administrador: Habilitar la autenticación de dos factores para cuentas de administrador/editor, restringir el acceso al área de administración por IP donde sea posible, y asegurarse de que las cookies estén configuradas como Seguras y HttpOnly donde sea posible.
- Monitorear y escanear: Buscar en la base de datos contenido de shortcode sospechoso y revisar las presentaciones recientes de los colaboradores. Monitorear los registros de WAF y del servidor en busca de intentos repetidos o solicitudes POST anómalas.
- Respuesta a incidentes (si detectas explotación): Aislar el sitio (modo de mantenimiento), revocar cuentas comprometidas, respaldar registros y evidencia, eliminar contenido malicioso o restaurar una copia de seguridad limpia, rotar credenciales y realizar una revisión posterior al incidente.
Detección: qué buscar en los registros y la base de datos
El XSS almacenado a menudo deja artefactos. Buscar proactivamente: