Vulnerabilidad crítica en plugin de WordPress permite a los suscriptores borrar sitios
Investigadores han descubierto un plugin (complemento) de WordPress homicida que permite a los suscriptores borrar el contenido de los sitios web.
La vulnerabilidad de alta gravedad se encuentra en Hashthemes Demo Importer, un plugin que se usa en más de 8,000 instalaciones activas de WordPress.
Según los investigadores de seguridad de Wordfence, la vulnerabilidad permite que cualquier usuario autenticado elimine por completo un sitio vulnerable. Es decir, un potencial ataque permite borrar permanentemente casi todo el contenido de la base de datos, así como todos los archivos multimedia subidos.
El complemento HashThemes Demo Importer está diseñado para permitir a los administradores importar fácilmente demos para temas de WordPress con un solo clic. Usando este plugin no es necesario lidiar con dependencias como archivos XML, opciones de tema .json, archivos de personalización .dat o archivos de widget .wie.
Ram Gall dijo que el equipo de Inteligencia de amenazas de Wordfence inició el proceso de divulgación para la vulnerabilidad el 25 de agosto. Durante casi un mes, el desarrollador no respondió, por lo que Wordfence se puso en contacto con el equipo de complemento de WordPress el 20 de septiembre.
El mismo día, el equipo de WordPress eliminó temporalmente Hashthemes Demo Importer del repositorio, y unos días después, el 24 de septiembre, se puso a disposición una versión parcheada. No obstante, el registro de cambios del plugin no lo menciona.
Detalles de la vulnerabilidad del plugin
Gall de Wordfence explicó que el plugin Hashthemes Demo Importer no realizaba comprobaciones de capacidad para muchas de sus acciones de Ajax. Ajax es una tecnología basada en JavaScript que permite que una página web obtenga nueva información y se presente sin actualizar la página.
Si bien realizaba una verificación de nonce, el nonce de AJAX era visible en el panel de administración para todos los usuarios, incluidos los usuarios con pocos privilegios, como los suscriptores. La consecuencia más grave de esto fue que un usuario de nivel de suscriptor podía restablecer todo el contenido de un sitio determinado.
Específicamente, cualquier usuario que iniciara sesión podría activar la función hdi_install_demo Ajax y proporcionar un parámetro de reinicio establecido en verdadero. Esta acción daba como resultado que el plugin ejecutara su función database_reset.
“La función borró la base de datos al truncar todas las tablas de la base de datos en el sitio, excepto wp_options, wp_users y wp_usermeta. Una vez que se borró la base de datos, el plugin ejecutaba su función clear_uploads, que eliminaba todos los archivos y carpetas en wp-content/uploads”.
Ram Gall
Importancia de las copias de seguridad
Gall dijo que la vulnerabilidad debería recordarnos la importancia de las copias de seguridad para la seguridad de un sitio. Si bien la mayoría de las vulnerabilidades pueden tener efectos destructivos, sería imposible recuperar un sitio donde se explotó esta vulnerabilidad a menos que se haya realizado una copia de seguridad. Dado que la vulnerabilidad permite tomar el control completo del sitio, si conoces a alguien que use este complemento en su sitio, avísale inmediatamente.
Los plugins amplían la superficie de ataque
El experto Rick Holland, señaló que la vulnerabilidad del plugin destaca la mayor superficie de ataque que introduce el código de terceros, al igual que las extensiones del navegador.
Eso depende de los proveedores de software con el que lidiar: “Las empresas de software son responsables de su código y del código que se ejecuta en la parte superior de su código”, concluyó Holland.
Asimismo, el experto Jake Williams, dijo que el incidente destaca la complejidad de la gestión de vulnerabilidades. Las organizaciones no solo necesitan conocer los sistemas de administración de contenido que están ejecutando, sino también los complementos que se ejecutan en esos sistemas. “Este es otro ejemplo más de seguridad de la cadena de suministro en el que el sistema WordPress era confiable. Sin embargo, el complemento (que el equipo de seguridad probablemente ni siquiera sabe que estaba instalado) los dejó vulnerables, finalizó.
Solo los scripts kiddies aprovecharía esta vulnerabilidad
Este tipo de vulnerabilidad solo atrae a scripts kiddies, a diferencia de los atacantes motivados financieramente. Difícilmente, la mayoría de los verdaderos hackers estén interesados en borrar las bases de datos y el contenido de sitios de WordPress. Esto va en contra de los objetivos de la mayoría de los actores de amenazas.
Es importante mencionar que no es difícil aprovechar esta vulnerabilidad. La explotación de esta vulnerabilidad requiere autenticación. No obstante, dado el uso de contraseñas y la apropiación de cuentas, esa barrera no es tan difícil de superar.
Cómo integrar la seguridad en WordPress
Recordemos que WordPress es como cualquier software. Es decir, está hecho por humanos falibles. Sus desarrolladores y aquellos que programan componentes de WordPress como plugins y plantillas, están destinados a cometer errores.
A continuación, te presentamos una guía sobre cómo analizar de manera integral un entorno de WordPress. La guía te muestra cómo incorporar la seguridad en todos sus componentes: servidor, red y capas de aplicaciones.
Las acciones a seguir son las siguientes:
- No ejecutar los servicios del servidor de WordPress como usuarios administrativos
- Asegúrate de que todos los programas instalados en el servidor, así como el servidor en sí, permanezcan actualizados con los últimos parches.
- El servidor solo debe permitir conexiones a través de TLSv1.2 o TLSv1.3. Además, los cifrados utilizados para esas conexiones deben proporcionar un secreto directo perfecto y el dominio debe participar en la transparencia de certificados.
- Las credenciales de usuario predeterminadas deben cambiarse en la instancia de WordPress, así como las credenciales de la base de datos. Debes hacerlo si no lo hiciste durante la configuración inicial
- Todos los plugins o plantillas utilizadas en WordPress deben provenir de fuentes confiables y mantenerse actualizados.
Dentro del portal de complementos de WordPress, los usuarios pueden ver información que incluye:
- Cuándo se actualizó por última vez el plugin
- Revisión o comentarios de los usuarios sobre el plugin
- ¿Cuántas veces se ha instalado? Aunque existe una buena cantidad de cosas que los usuarios pueden hacer para proteger sus sitios web de WordPress que no se muestren aquí.