Seguridad

Escalada de privilegios con WooCommerce en WordPress

Un conjunto de vulnerabilidades en WordPress y WooCommerce permiten una escalada de privilegios que podría afectar a los más de 4 millones de usuarios de este plugin de WordPress.

Imagen extraída de https://ldav.it/shop/servizi/assistenza-tecnica-wordpress-woocommerce/

 

WooCommerce es un complemento de comercio electrónico muy popular para WordPress, instalado por alrededor de 4 millones de usuarios y desarrollado por Automattic. La vulnerabilidad está relacionada con el método en el que interactúa el plugin WooCommerce con WordPress, permitiendo a un atacante con acceso a una cuenta de administrador de la tienda (Shop Manager) hacerse con el control del sitio web completo.  La primera alerta se dió a finales de octubre en las notas de la última versión de WooCommerce, informando de que las versiones 3.4.5 y anteriores permitían a un administrador de la tienda malintencionado realizar una escalada de privilegios y hacerse con el control del sitio web. Esta semana, la compañía de seguridad de RIPS-Tech publicó los resultados de la investigación realizada por Simon Scannell en la que se descubrió el modo en el que dichos administradores de WooCommerce podían aprovechar la vulnerabilidad del plugin para controlar el sitio WordPress completo.

En primer lugar, el administrador de la tienda de WooCommerce puede editar los datos de los usuarios. Para ello, WordPress le asigna la capacidad “edit_users” y limita sus privilegios mediante un filtro especial de metadatos que sólo se aplica mientras el plugin WooCommerce esté activo. Esto significa que si WooCommerce es deshabilitado, la verificación de privilegios que impide a los administradores de la tienda editar los datos de cualquier usuario del sitio WordPress no se produce, permitiendo que puedan incluso modificar la contraseña de la cuenta del administrador para luego acceder como tal y controlar el sitio completo. El problema es que los roles de los usuarios se almacenan en la base de datos y existen incluso si el plugin está deshabilitado.

El problema estriba en que, en las versiones 3.4.5 y anteriores de WooCommerce, los administradores de la tienda además pueden eliminar archivos. Este defecto de forma aislada supondría el riesgo de que un atacante pudiese borrar el sitio web, generando una situación similar a un ataque DoS. Generalmente, este tipo de vulnerabilidades de eliminación arbitraria de archivos no se consideran críticas, pero dado que la eliminación de ciertos archivos del plugin puede deshabilitarlo permitiendo así la modificación de la contraseña del administrador del sitio, esta cadena de ataque se convierte en un riesgo de seguridad crítico.

Por lo tanto, un administrador de la tienda malintencionado (o un atacante que haya obtenido sus datos de acceso mediante phishing o algún otro tipo de fraude) podría eliminar el archivo “woocommerce.php”, con lo que WordPress deshabilitaría inmediatamente el plugin. En este momento, el administrador de la tienda quedaría liberado de la limitación del filtro especial de metadatos manteniendo su capacidad de editar usuarios, incluidos los datos del administrador del sitio WordPress, haciéndose con el control del sitio web completo.

Actualmente se ha resuelto de forma parcial la vulnerabilidad en la versión 3.4.6 de WooCommerce, que apareció el 11 de octubre, limitando la capacidad de modificar los usuarios por parte del administrador de la tienda a sólo aquellos que tienen la función de cliente de forma predeterminada y añadiendo una lista blanca de funciones que se puedan editar de esta forma.

Los plugins de WordPress continúan siendo su talón de Aquiles.

 

Luciano Miguel Tobaria
lmiguel@hispasec.com

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.