lunes, 19 de marzo de 2018

Ejecución de código y LFI en WooCommerce Product Filter

Vulnerabilidades de ejecución de código arbitrario y carga local de ficheros en un plugin de WooCommerce


Resultado de imagen de woocommerce
WooCommerce es una extensión para WordPress que permite implementar tiendas de comercio electrónico utilizando la popular plataforma de blogs. Existen numerosos plugins para extender su funcionalidad o facilitar su administración. Recientemente se han encontrado dos vulnerabilidades graves que afectan a una de estas extensiones: WooCommerce Product Filter.

La primera vulnerabilidad se encuentra en uno de los "short-code" que implementa el plugin: 'woof_products'. Al no validar correctamente el argumento 'custom_tpl' podría utilizarse para cargar un fichero local de la siguiente manera:

[woof_products custom_tpl="../../../../../../../../../etc/passwd"][/woof_products]


custom_tpl se pasa como argumento a render_html, donde tampoco se valida correctamente. Fuente: http://wphutte.com


En este punto se evalúa $pagepath, que contiene los datos sin validar de custom_tpl. Fuente: http://wphutte.com


Este fallo no sería tan grave si no existiera la segunda vulnerabilidad, que permitiría a un usuario sin privilegios ejecutar código arbitrario en la función 'admin-ajax.php' y evaluar el short-code anterior, llevando a cabo el LFI:

POST /wp-admin/admin-ajax.php HTTP/1.1
[...]
action=woof_redraw_woof&shortcode=<<shortcode sin []>>

Estas dos vulnerabilidades afectan a WooCommerce Products Filter versión 1.1.9 y anteriores. Se recomienda actualizar a la versión 2.2.0 inmediatamente.

Mario Parra
@MPAlonso_
Más información:

Link de descarga para la actualización: