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.
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.
Fuente:
Hispasec