Vulnerabilidad crítica afecta al plugin de WordPress Elementor: Actualice pronto

Un reporte de seguridad señala el hallazgo de una vulnerabilidad crítica en el plugin Essential Addons for Elementor cuya explotación permitiría a cualquier usuario realizar un ataque de inclusión local de archivos sin importar su nivel de privilegios en los sistemas afectados.

Según el reporte, la explotación exitosa de la falla permitiría a los actores de amenazas incluir archivos locales en el sistema de archivos de un sitio web vulnerable en WordPress. El ataque también conduciría a escenarios de ejecución remota de código si los hackers pudieran incluir un archivo con código PHP malicioso que en condiciones normales no pudiera ser ejecutado.

Al parecer, este error existe debido a la forma en que se utilizan los datos de entrada del usuario dentro de la función de inclusión de PHP que forma parte de las funciones ajax_load_more y ajax_eael_product_gallery. La vulnerabilidad solo se presenta si se utilizan widgets relacionados con estas funciones, ya que está presente una verificación de token nonce que solo es visible cuando estos widgets están habilitados.

Los fragmentos de código que causan la vulnerabilidad se muestran como vemos en la siguiente captura de pantalla:

Primero, $template_info se llena con los datos ingresados por el usuario tomados de $_REQUEST, que se toma de la carga útil de URL o POST. Esto luego se encadena con algunos otros valores en una ruta de archivo pasada a la función include_with_variable como parte de HelperClass. Esta función toma la ruta del archivo y la incluye, dando origen a la vulnerabilidad de inclusión local de archivos.

Si bien los creadores de Elementor emitieron un primer parche para abordar esta falla en la versión 5.0.3, este parche solo aplicaba a la función sanitize_text_field de WordPress, fallando al tratar de evitar la explotación en términos reales.

Después de un par de intentos, el parche completo fue implementado en la versión 5.0.5 del plugin. Como se muestra a continuación, se agrega más seguridad haciendo uso de la función de PHP realpath, la cual devuelve el nombre de ruta canónico expandiendo los enlaces simbólicos y resolviendo las referencias a ., ../ y otras en la ruta de entrada.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).