Vulnerabilidad Cross-Site Scripting en WordPress W3 Total Cache

W3 Total Cache es un plugin para WordPress que se encuentra instalado en más de 1 millón de sistemas a nivel mundial. Actualmente se encuentra en la versión 0.9.4.1 y su última actualización fue hace 6 meses.

w3totalcache_xss

El plugin W3 Total Cache tiene una vulnerabilidad del tipo Cross-Site Scripting que permite obtener las credenciales de administrador.

Para poder explotar la vulnerabilidad el administrador o un usuario con los permisos suficientes debe tener una sesión activa, el problema se encuentra en la sección “Support”. Al momento de generar un ticket de soporte, el sistema muestra un formulario en el cual le asigna un “ID” como campo oculto. Este valor puede ser sobreescrito seteando el valor vía GET.

Por ejemplo, al completar el formulario para reportar un bug, el sistema envia la siguiente petición

https://labs/wordpress/wp-admin/admin.php?page=w3tc_support&request_type=bug_report&payment&url=http://example.com&name=test&email=test%gmail.com&twitter&phone&subject=test%22+a&description=test&forum_url&wp_login&wp_password&ftp_host&ftp_login&ftp_password&subscribe_releases&subscribe_customer&w3tc_error=support_request

Al ver el código fuente, existen algunos campos ocultos los cuales pueden ser manipulados

w3totalcache_sc01

 

Si bien estas variables no estan seteadas mediante la URL, es posible forzarlas agregandolas, sin que sean validadas correctamente.

Por ejemplo:

https://labs/wordpress/wp-admin/admin.php?page=w3tc_support&request_type=bug_report&payment&url=http://example.com&name=test&email=test%gmail.com&twitter&phone&subject=test%22+a&description=test&forum_url&wp_login&wp_password&ftp_host&ftp_login&ftp_password&subscribe_releases&subscribe_customer&w3tc_error=support_request&request_id=PAYLOAD

Los parametros que aparecen como hidden no se validan correctamente permitiendo inyectar código javascript o bien html.

w3totalcache_sc02

 

De esta forma, es posible explotar la vulnerabilidad inyectando el típico payload “><script>alert(/XSS/)</script>.

w3totalcache_xss02

 

Los requisitos para poder explotar la vulnerabilidad es que un usuario tenga una sesión activa, haciendo más atractivo su explotación, ya que permite robar las cookies de la sesión activa e iniciar sesión desde otro navegador sin ningun problema, siempre y cuando las cookies permitan ser accedidas mediante una función javascript (httponly off).

 

6 comentarios

  1. rodrigo aranguiz lorca

    septiembre 21, 2016 a las 4:03 pm

    excelente aporte, muy preciso y claro
    gracias por compartir el conocimiento

  2. Please clarify.
    From your article you are stating that the user must be an administrator in order for this exploit to be taken advantage of?

    Por favor, aclarar.
    Desde su artículo usted está indicando que el usuario debe ser un administrador para que esta vulnerabilidad para ser aprovechado?

  3. Hi Jim,
    Only works for authenticated users and and need to have permissions tu access W3 Total Cache Support Menu of left sidebar on WP Admin Panel.

  4. I do believe all of the concepts of W3 Total Cache you’ve introduced in your post. They’re very convincing and will definitely work. Nonetheless, the posts are too short for novices.

  5. jim walker : no need for admin role to use xss is dirty exploit you must update your plugin

19 Pingbacks

  1. Pingback: XSS WordPress W3 Total Cache <=0.9.4.1 – sec.uno
  2. Pingback: W3 Total Cache Vulnerable to XSS – High Risk - SecuPress
  3. Pingback: W3 Total Cache vulnérable à une XSS – High Risk - SecuPress
  4. Pingback: High Risk XSS Vulnerability Discovered in W3 Total Cache Plugin – WordPress Tavern
  5. Pingback: High Risk XSS Vulnerability Discovered in W3 Total Cache Plugin – Material Design Shell
  6. Pingback: Sicherheitslücke in W3 Total Cache - Onlineshop DIY
  7. Pingback: Xoá bỏ plugin W3 Tocal Cache ở WordPress - VietNAP Managed Hosting
  8. Pingback: Vulnerabilidad grave y urgente en W3 Total Cache – Soluciones
  9. Pingback: Remove W3 Total Cache - OsloNAP
  10. Pingback: Poważna luka bezpieczeństwa we wtyczce W3 Total Cache
  11. Pingback: W3 Total Cache缓存插件被曝XSS漏洞,附修补办法 - WordPress中文网
  12. Pingback: Big Red SEO, LLC | W3 Total Cache Plugin - XSS Vulnerability 9/23/2016
  13. Pingback: September 2016 WordPress Core, Plugins and Themes Vulnerabilities
  14. Pingback: W3 total cache 爆出高危漏洞!!! | MR chen-专注于涉外数字营销
  15. Pingback: 警惕!W3 Total Cache 存在高危XSS漏洞 | WordPress爱我主题 - 免费下载各种精美网站源码|WordPress模板|WordPress企业主题|WordPress免费主题|wordpress主题|wordpress主题下载
  16. Pingback: 警惕!W3 Total Cache 存在高危XSS漏洞 | WordPress爱我主题 - WordPress模板|WordPress企业主题|WordPress免费主题|wordpress主题|wordpress主题下载
  17. Pingback: W3 Total Cache vulnérabilité XSS – scrapperwp
  18. Pingback: W3 Total Cache Vulnerable to XSS: WordPress Security Risk – scrapperwp
  19. Pingback: 警惕!W3 Total Cache 存在高危XSS漏洞 - Buildb2bwebsite

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esto sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.