Vulnerabilidad Amelia Booking: Riesgo de Admin (CVE-2026)

El 27 de marzo de 2026 se publicó el CVE-2026-2931, una vulnerabilidad crítica en Amelia Booking Pro con CVSS 8.8 que permite a cualquier cliente autenticado cambiar la contraseña de administradores y tomar control total del sitio WordPress. No es un bug menor, es un IDOR que explota la falta de validación de quién tiene derecho a modificar qué usuario. Si tu sitio usa Amelia para reservas online y no has actualizado a la versión 9.2, está en riesgo ahora.

En 30 segundos

  • CVE-2026-2931 es un IDOR en Amelia Booking Pro que permite cambiar la contraseña de cualquier usuario, incluyendo admins, desde una cuenta de cliente
  • Afecta versiones hasta 9.1.2, se corrige en v9.2 (disponible ahora)
  • Requiere que el atacante tenga una cuenta de cliente en el sitio, pero muchos sitios permiten registro abierto
  • El ataque explota que el plugin no valida si un cliente tiene permiso para modificar datos ajenos
  • El riesgo es máximo en spas, clínicas, estudios jurídicos y negocios que aceptan reservas online

WPAmelia es un plugin de WordPress para gestión de citas y reservas desarrollado por Tivoli, diseñado para automatizar calendarios, pagos y administración de clientes en negocios de servicios.

Cómo funciona el ataque IDOR, paso a paso

Un IDOR es exactamente esto: pedís acceso directo a un objeto del que no tenés autorización. Amelia Booking Pro falla en validarlo. Acá está la cadena de eventos:

El atacante se registra como cliente normal en tu sitio. Crea una reserva, obtiene un JWT válido. Desde ahí, hace un POST al endpoint de actualización de perfil que Amelia expone. Ponele que llama a /wp-json/v1/customers/update y en el payload mete su ID de cliente, pero manipula un parámetro llamado externalId que mapea al ID de usuario de WordPress. Cambia ese campo al número 1 (el admin). Agrega un campo password con la contraseña que eligió. Envía el request.

El servidor valida que el JWT es válido (que el cliente existe), pero no valida que ese cliente tenga relación con el usuario de WordPress ID 1. Ejecuta wp_set_password() con el ID ajeno. Listo. La contraseña del admin cambió sin que nadie más lo sepa. El atacante entra al wp-admin como si nada (si es que eso cuenta como mejora en términos de seguridad).

Según el reporte técnico de Black Lantern Security, el plugin tampoco valida nonces de WordPress ni implementa rate limiting en estos endpoints. Subís el exploit, lo probás en local, funciona bárbaro, lo mandás a producción y de repente el admin del sitio no puede entrar pero alguien más sí.

Quién está expuesto y por qué

amelia booking vulnerabilidad diagrama explicativo

La vulnerabilidad afecta Amelia Booking Pro hasta la versión 9.1.2. El parche llegó en la v9.2, liberada inmediatamente después del anuncio del CVE.

El riesgo es altísimo en ciertos sectores. Si tu negocio es un spa, una clínica odontológica, un estudio jurídico, un gym o cualquier servicio que acepta reservas online a través de Amelia, estás en la línea de fuego. El plugin tiene 50.000 instalaciones activas de la versión free en WordPress.org, y la versión Pro es mucho más común en sitios serios que necesitan booking profesional. Complementá con fallas críticas documentadas en plugins.

Lo peligroso es que muchos sitios tienen registro abierto de clientes. El atacante no precisa cracking, no precisa phishing. Se registra, obtiene acceso directo, escalada de privilegios. Tres minutos. Sin dejar rastro convincente.

Señales de que te explotaron

No es fácil detectar si alguien ya usó esto. Pero hay banderas:

  • Cambios recientes en la contraseña del admin que vos no hiciste. Chequeá el historial de cambios si tenés un plugin de auditoría activado.
  • Intentos fallidos de login del admin en los logs del servidor, seguidos por logins exitosos desde IPs raras.
  • Solicitudes POST repetidas a endpoints de Amelia /wp-json/ameliabooking/ con parámetros que incluyen user IDs altos o parámetros de admin.
  • Nuevas cuentas de usuario con rol administrador que no creaste vos.
  • Cambios sin autorización en posts, configuración o plugins.

Ojo: si el atacante entró por acá, probablemente instaló backdoors o persistencia. No es solo cambiar contraseñas.

Cómo remediar: actualizar a Amelia 9.2

Los pasos son claros pero hacelos en orden:

  • Backup primero. De la base de datos y de los archivos de Amelia. Si algo sale mal, lo regresas. No te lo saltees.
  • Actualiza a v9.2. Desde el panel de WordPress o descarga directa de wpamelia.com si tenés acceso directo. El parche corrige la falta de validación de autorización.
  • Fuerza reset de contraseña para todos los admins. Desde wp-admin, herramientas de usuario. Si hubo compromiso, las contraseñas cambiar no alcanza.
  • Revisa la lista de usuarios admin. Buscá cuentas que no reconozcas. Si encontrás una que no creaste, eliminala e investiga qué hizo.
  • Activa autenticación de dos factores. En cualquier plugin que lo soporte (WP 2FA, Wordfence, Microsoft Authenticator). Minimum requirement para cualquier cuenta admin después de un evento así.

Mitigación temporal si no podés actualizar hoy

A veces hay temas de compatibilidad o dependencias. Si no podés saltar a v9.2 de inmediato:

Con WAF (Wordfence, Cloudflare, etc.): Configura reglas para bloquear POST requests a endpoints de actualización de clientes que vengan sin nonces válidos de WordPress. externalId en el payload es una señal clara de ataque, bloquealo. Rate limit las cuentas recién creadas. Ya lo cubrimos antes en migrar a infraestructura segura en cloud.

A nivel de aplicación: Desactiva temporalmente el registro abierto de clientes si es posible. Si necesitás que haya nuevos clientes, haz que se registren via email validado o invitación. Esto no es parche, es corta de ruta.

Estos son palos en la bicicleta, no solución. El parche es la solución. Hazlo cuanto antes.

Por qué los plugins de booking son un blanco fácil

Amelia no es el primero. Los plugins de reservas son especialmente riesgosos porque exponen endpoints autenticados a desconocidos. Un cliente del spa, un paciente de la clínica, alguien que solo quiere una cita, de repente tiene access tokens.

Amelia ya tuvo otro CVE el 6 de marzo (CVE-2026-24963), también escalada de privilegios. LatePoint tuvo CVE-2026-1566, idéntica categoría. El tema es que estos plugins fueron diseñados para ser “accesibles” y eso es incompatible con “seguro”.

Errores comunes que amplían el riesgo

Dejar el registro de clientes completamente abierto

Si cualquiera se puede registrar sin validación, el IDOR se convierte en un ataque automatizado. Ponele validación: email confirmado, teléfono, algo. Para más detalles técnicos, mirá WordPress como plataforma web principal.

No auditar qué endpoints expone un plugin

Amelia tiene decenas de endpoints REST. Muchos sitios no saben cuáles están activos. Desactiva los que no necesitás. Bloqueá /wp-json/ameliabooking/ si no lo usás en frontend.

No tener 2FA en cuentas admin

Si el atacante logra cambiar la contraseña del admin, 2FA la detiene. Es la única cosa que no se saltea.

Para profundizar en esto, mirá nuestro artículo sobre Vulnerabilidad crítica en Amelia Booking Pro permite tomar e.

Esto se conecta con Vulnerabilidad crítica en Amelia Booking Pro permite tomar e, donde lo cubrimos en detalle.

Profundizamos este tema en nuestro artículo sobre Vulnerabilidad crítica en Amelia Booking Pro permite tomar e.

Esto se conecta con Vulnerabilidad crítica en Amelia Booking Pro permite tomar e, donde cubrimos riesgos similares de plugins.

Esto se conecta con nuestra cobertura sobre Vulnerabilidad crítica en Amelia Booking Pro permite tomar e.

En nuestro artículo sobre Vulnerabilidad crítica en Amelia Booking Pro permite tomar e, detallamos cómo protegerte de este riesgo.

Preguntas Frecuentes

¿Tengo que actualizar de inmediato?

Sí, pero con plan. Si tu sitio usa Amelia Booking Pro ≤ 9.1.2 y tiene registro abierto de clientes, el riesgo es crítico. Hacé el backup, actualiza a v9.2 en las próximas horas. No esperes al fin de semana. Más sobre esto en auditar y limpiar tu base de datos.

¿Cómo sé si mi sitio fue comprometido por esto?

Instala un plugin de auditoría como Wordfence o WP Activity Log. Revisa los logs de cambios de contraseña, creación de usuarios admin, y login fallidos. Si ves patrones raros (múltiples cambios de contraseña admin, logins desde IPs desconocidas), investigá en serio. Considera traer a alguien especializado en seguridad WordPress si encontrás algo. Tema relacionado: mejores prácticas de seguridad en desarrollo.

¿La versión free de Amelia también está afectada?

Sí, la free tiene el mismo código vulnerable. Aunque es menos común en producción, también necesita actualización. Chequeá la versión en wp-admin, luego actualiza desde WordPress.org o descarga directa.

¿Amelia tiene un plan de comunicación público sobre esto?

WPAmelia publicó un anuncio de seguridad en su sitio y envió notificaciones a usuarios con licencia. Si usás la free y no tienes datos de WPAmelia, monitoreá WordPress.org y Wordfence para alertas de seguridad. Fijate en el changelog de cada versión.

Conclusión

CVE-2026-2931 es un golpe real a la seguridad de sitios que dependen de Amelia Booking Pro. No es “podría pasar”, es “está pasando ahora” en sitios que no parcharon. La escalada es directa: cuenta de cliente normal → contraseña de admin → control total.

Lo que hay que hacer es simple: actualiza a v9.2 hoy, fuerza reset de contraseñas admin, activa 2FA, y revisa los logs buscando actividad extraña. Si encontrás algo, trae ayuda especializada. No intentes limpiar un sitio comprometido sin saber qué estás buscando.

Este tipo de vulnerabilidades van a seguir apareciendo en plugins de booking porque el modelo de “autorizar a desconocidos a acceder a endpoints sensibles” es intrínsecamente riesgoso. Mientras tanto, mantenete al día, audita qué endpoints activás, y no dejes puertas abiertas sin vigilancia.

Fuentes

Similar Posts