Vulnerabilidad en Live Chat Support de WordPress permite secuestrar sesiones de navegación
El equipo de investigadores de la firma de ciberseguridad AlertLogic acaba de publicar una nueva vulnerabilidad que afecta a WordPress, uno de los CMS más populares para publicar contenido web. El fallo no está en el propio CMS sino en uno de los plugins (bastante popular por cierto) denominado WP Live Chat.
El ID para esta vulnerabilidad es CVE-2019-12498.
La que te cuento hoy no es sino una de las varias vulnerabilidades investigadas recientemente por estos expertos en relación a este plugin, que ofrece chat en tiempo real con los usuarios. Por ejemplo, recientemente publicaron un bypass crítico en versiones 8.0.32 y anteriores: CWE-287 / OWASP Top 10: A2: 2017-Broken Authentication.
Live chat Support para WordPress contiene vulnerabilidades
Los dispositivos finales restringidos con API E¡REST de las versiones afectadas pueden sufrir un abuso por parte de atacantes sin autenticar, a través de un fallo en la función ‘wplc_api_permission_check()’.
En la imagen se aprecian llamadas a ‘register_rest_route()’ las cuales deberían tener restricciones dada la naturaleza de las funciones que exponen. Cada endpoint comparte la misma función «permission_callback» referidas a ‘wplc_api_permission_check()’.
Esto permitiría a un atacante utilizar estos endpoint para fines maliciosos como por ejemplo:
- Extraer todo el registro de sesiones de chat
- Inyectar mensajes arbitrarios en sesiones en curso, impersonando a un agente
- Editar mensajes inyectados previamente para encubrir mensajes previamente inyectados
- Finalizar sesiones de chat de forma arbitraria para realizar un ataque DoS
No entraré en los pormenores más detallados que podéis encontrar en el blog de AlertLogic, pero básicamente podemos decir que cualquier usuario sin autenticación previa puede acceder a la API REST y solo se fuerzan los controles de autorización para usuarios que están previamente dentro de su sesión legítima.
Mitigación y medidas correctivas
Para corregir el componente con fallos lo único que debemos hacer es actualizar el plugin WP Live Chat a su última versión, la cual contiene ya medidas de seguridad apropiadas.
También se puede emplear un WAF (Web Application Firewall) para filtrar tráfico destinado hacia el endpoint REST de WP Live Chat Support. Por ejemplo, AlerLogic lo detecta con su WAF de esta forma:
Exposure ID : 131393 Name ‘CVE-2019-12498 - WP Live Chat Support – Authentication Bypass Issue’.
El primer contacto con el desarrollador se produjo el 28 de Mayo y en 12 días, a fecha 10 de Junio, el parche ya estaba listo.
Por supuesto, es de agredecer que la firma haya mantenido una política de revelación responsable y haya esperado por tanto a que los parches de rigor existan, antes de publicar estos datos. Esto no quiere decir que debas relajarte si debes tomar medidas. Cuanto antes, mejor.
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.