Las vulnerabilidades de XSS en Visual Composer WPBakery Page Builder plugin permiten evitar el firewall

Acorde a expertos de NinTechNet, los desarrolladores de Visual Composer, complemento de WordPress con más de 80 mil instalaciones activas actualmente, anunciaron la corrección de múltiples vulnerabilidades que permitirían desplegar ataques de scripts entre sitios (XSS) y esquivar el firewall. Los expertos de un curso de ciberseguridad mencionan que las fallas se encontraban en las versiones 25.0 y posteriores, aunque también podrían encontrarse en algunas implementaciones de la versión 26.0. 

Vulnerabilidad XSS

Los administradores pueden configurar el plugin desde la página de “Configuración” en el backend. Entre las tres pestañas disponibles, “CSS, HTML y JavaScript”, a las que se puede acceder en “/wp-admin/admin.php?page=vcv-global-css-js”, permite inyectar código CSS, JavaScript o HTML en cada encabezado o pie de página de la página:

Al igual que la tercera pestaña (Estado del Sistema), esta se carga llamando al método addSubmenuPage desde el script mostrado a continuación:

“visualcomposer/visualcomposer/Modules/Settings/Traits/SubMenu.php”

Acorde a los expertos del curso de ciberseguridad, después se espera una capacidad de usuario opcional como argumento. Si no se presenta, se restringirá el acceso de forma predeterminada a los usuarios que pueden editar publicaciones, una capacidad disponible para usuarios con pocos privilegios, como los contribuyentes. Al llamar a addSubmenuPage para configurar la pestaña, el método addPage en el script “visualcomposer/visualcomposer/Modules/Settings/Pages/CssJsSettings.php” no pasa una capacidad:

Un usuario contribuyente puede acceder a la pestaña e inyectar código JavaScript en cada página y publicación del sitio web, tanto en el backend como en la interfaz:

Si los usuarios editan una publicación, también pueden inyectar código JavaScript que se aplica a todos los usuarios que pueden acceder al editor, incluyendo colaboradores y autores, a diferencia del editor de WordPress, que sólo permite a los administradores y editores insertar código JavaScript.

Cuando los usuarios contribuyentes guardan su publicación, se guarda como un “borrador”, ya que no tienen permiso para hacer publicaciones. No obstante, el código JavaScript se inyecta y es ejecutado de inmediato, en cada página y publicación en el backend y la interfaz del sitio de WordPress, mencionan los especialistas del curso de ciberseguridad.

Esquivar el firewall

Al guardar una publicación, la carga útil enviada por Visual Composer está muy ofuscada, por lo que podrá esquivar el firewall de aplicaciones web y los plugins de seguridad. A continuación se presenta un ejemplo de la pequeña carga útil utilizada en la imagen de arriba y enviada a través de la acción vcv-admin-ajax AJAX:

Está codificado en JSON, comprimido en ZLIB y eventualmente codificado en base 64.La decodificación se produce en el método parseRequest del siguiente script:

visualcomposer/visualcomposer/Modules/System/Ajax/Controller.php.

Por seguridad, se recomienda a los usuarios actualizar a la versión más reciente de Visual Composer, además de verificar las configuraciones de su firewall. Para mayores informes sobre vulnerabilidades, exploits, variantes de malware y riesgos de seguridad informática puede ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS), al igual que a las plataformas oficiales de las compañías tecnológicas.