Smush Image Compression and Optimization 2.9.1 Phar Deserialization

Cada cierto tiempo alguien descubre nuevas formas de ataque y la sufrida por Smush Image Compression and Optimization es de ellas. En este caso el equipo de RIPS ha detectado esa nueva forma de explotación mediante un ataque de PHP.

Este sistema básicamente permite que un fichero leído de forma externa y sin necesidad de usar la función unserialize() pueda ser deserializado. Para ello se debería leer un fichero de tipo “phar”, que son paquetes serializados de PHP.

include('phar://test.phar');

Esto permitiría que cualquier tipo de llamada a cualquier archivo de este estilo sea posible de ejecutar, lo que incluiría llamadas con funciones como include(), fopen(), file_get_contents() o file().

En este caso, el problema residía precisamente en hacer las cosas bien, ya que el sistema verifica que el fichero existe, y ahí es donde se ejecutaba la acción.

if ( isset( $image['path'] ) && file_exists( $image['path'] ) ) {

En la versión 3.0.0 se ha corregido esta problemática que seguro que tendrán muchos otros plugins.

WPVDB ID: 9162

Deja un comentario