Combinación de errores en WordPress y WooCommerce permite secuestro de sitios web

Utilizan sitios web de WordPress para redirigir a usuarios a páginas con malware

Una falla en la forma en la que WordPress maneja los privilegios puede ser explotada para tomar el control de un dominio

Una falla en el proceso de WordPress para administrar las asignaciones de privilegios de usuario puede ser explotada para permitir a un actor malicioso secuestrar sitios web de WooCommerce, informan especialistas en forense digital del Instituto Internacional de Seguridad Cibernética.

El problema de seguridad en el sistema de gestión de contenido (CMS) fue descubierto por Simon Scannell, un investigador en ciberseguridad y forense digital, quien dijo en una publicación  en su blog que este error de diseño afecta específicamente a WooCommerce, un popular complemento de WordPress que ha sido descargado más de cuatro millones de veces.

“La vulnerabilidad permite a los gerentes de tiendas eliminar ciertos archivos en el servidor y luego tomar control de cualquier cuenta de administrador”, señala el investigador en su reporte de seguridad.

Según reportes de especialistas en seguridad informática y forense digital, este plugin ha sido desarrollado por Automattic y es un sistema de comercio electrónico gratuito para sitios web basados en WordPress.

Scannell encontró el bug de eliminación de archivos en el software que, por sí solo, no se considera una falla crítica, ya que el mayor daño que podría provocar un atacante sería eliminar las páginas index.php y provocar una condición de denegación de servicio (DDoS). Sin embargo, cuando se combina con la falla en el diseño de WordPress, este se vuelve un error de seguridad crítico.

Este problema en WordPress, que continúa sin ser parcheado,  se deriva de la forma en cómo el CMS asigna capacidades a diferentes roles.

Cuando se define la función de gerente de las tiendas que usan este plugin, la capacidad edit_users se configura para permitir que los usuarios con estos privilegios puedan editar las cuentas de los clientes. Incluso si el plugin está inactivo, este privilegio de cuenta se almacena en la base de datos central de WordPress.

De forma predeterminada, la función edit_users permite al titular de una cuenta editar cualquier usuario, incluidas las cuentas de administrador. Para evitar que se abuse de esto, WooCommerce especifica que sólo se pueden editar las cuentas con el rol de cliente, pero estas adiciones de metadatos, posibles gracias a la funcionalidad current_user_can(), sólo están activas cuando el plugin está habilitado.

Ahí radica el problema. Como la falla en el diseño de WordPress mantiene la función de administrador de tienda almacenada por separado del complemento, si WooCommerce está deshabilitado, los atacantes que pueden obtener acceso a una de estas cuentas no están limitados por los cambios de metadatos.

“Esto significa que si WooCommerce se deshabilitó por algún motivo, la comprobación del privilegio que restringe a los administradores de la tienda de editar administradores no se ejecutaría, produciendo esta conducta predeterminada en el complemento permitiendo la edición de la información de cualquier usuario”, dice Scannell. “Esto permitiría a los gerentes de la tienda actualizar la contraseña de la cuenta de administrador y luego controlar todo el sitio”.

Si un actor de amenazas es capaz de llevar a cabo con éxito una campaña de phishing y obtener las credenciales de una cuenta de administrador de tienda o utiliza una vulnerabilidad de inyección de código para el mismo propósito, entonces la cadena de ataques es posible.