fbpx
Síguenos en las redes

Noticias

Vulnerabilidad Detectada en WordPress 4.9.6 – Actualizar a WordPress 4.9.7

Vulnerabilidad Wordpress 4.9.6
Ícono por Freepik de www.flaticon.com licencia: CC 3.0 BY

 

Hoy, WordPress lanzó la versión 4.9.7, una versión de seguridad que aborda dos vulnerabilidades de eliminación de archivos arbitrarios separadas que requieren privilegios de Autor. Algunos detalles se pueden encontrar en Blog de WordPress.org .

La primera vulnerabilidad de eliminación arbitraria de archivos se dio a conocer el 26 de junio de 2018 en el Blog RIPS Tech sin un parche oficial de parte de WordPress.

 

Una segunda vulnerabilidad descubierta

La página Wordfence después de desarrollar una prueba de concepto del ataque descubierto, escribieron una regla de firewall que bloquea dicho ataque y luego decidieron examinar más de cerca el código utilizado para crear y eliminar archivos adjuntos. Durante esta revisión, descubieron una segunda vulnerabilidad de eliminación arbitraria de archivos explotable por los autores y lanzaron una regla de firewall el 2 de julio para protección contra esta vulnerabilidad.

Los detalles de la segunda vulnerabilidad son los siguientes: En el núcleo de WordPress, hay una acción AJAX «upload-attachment» usada por el cargador de medios. La llamada AJAX manejaba la carga del archivo y pasaba una matriz de datos adicionales sobre el archivo adjunto a wp_insert_post, ya que los archivos adjuntos de medios son un tipo específico de publicación dentro de WordPress.

 

[code lang=»php»]
function wp_ajax_upload_attachment () {

// Publicar datos de la entrada del usuario.
$ post_data = isset ($ _REQUEST [‘post_data’])? $ _REQUEST [‘post_data’]: array ();
// Si el contexto es un encabezado o fondo personalizado, asegúrese de que el archivo cargado sea una imagen.
if (isset ($ post_data [‘context’]) && in_array ($ post_data [‘context’], array (‘custom-header’, ‘custom-background’))) {
$wp_filetype = wp_check_filetype_and_ext ($ _FILES [‘async-upload’] [‘tmp_name’], $ _FILES [‘async-upload’] [‘name’]);

}
$attachment_id = media_handle_upload (‘async-upload’, $ post_id, $ post_data);
[/code]

La vulnerabilidad radica en la forma en que wp_insert_post rellena los metadatos para el archivo adjunto. La ruta al archivo adjunto se almacena en la clave meta _wp_attached_file. Al suministrar post_data [meta_input] [_ wp_attached_file] en la solicitud de la acción AJAX «upload-attachment«, podemos pasar la ruta ../../wp-config.php la cual WordPress tratará como el archivo adjunto.

Similar a la primera vulnerabilidad de eliminación arbitraria de archivos, donde un autor elimina el archivo adjunto, y se elimina wp-config.php, lo que permite al autor pasar por el proceso de instalación inicial de WordPress, y compromete completamente el sitio.

 

WordPress presenta una solución en 4.9.7

El equipo de seguridad de WordPress acaba de lanzar la versión 4.9.7 que aborda estos dos problemas mediante la realización de algunas comprobaciones adicionales antes de eliminar los archivos adjuntos. Específicamente, han agregado la función que utilizan para verificar que el archivo esté dentro del directorio de carga antes de eliminarlo.

 

[code lang=»php»]
/**
* Deletes a file if its path is within the given directory.
*
* @since 4.9.7
*
* @param string $file Absolute path to the file to delete.
* @param string $directory Absolute path to a directory.
* @return bool True on success, false on failure.
*/
function wp_delete_file_from_directory( $file, $directory ) {
$real_file = realpath( wp_normalize_path( $file ) );
$real_directory = realpath( wp_normalize_path( $directory ) );
if ( false === $real_file || false === $real_directory || strpos( wp_normalize_path( $real_file ), trailingslashit( wp_normalize_path( $real_directory ) ) ) !== 0 ) {
return false;
}
wp_delete_file( $file );
return true;
}[/code]

Cronología

  • 2018-06-29 11:26 a.m. (-5) – Informe inicial de la segunda vulnerabilidad de eliminación arbitraria de archivos enviada al equipo de seguridad de WordPress.
  • 2018-07-02 1:14 PM (-5) – Norma de firewall lanzada por Wordfence para abordar la segunda vulnerabilidad.
  • 2018-07-05 12:00 PM (-5) – WordPress lanza la versión 4.9.7 que corrige ambas vulnerabilidades.

¿Qué hacer?

Le recomendamos encarecidamente que actualice la versión 4.9.7 lo antes posible. Si tiene habilitadas las actualizaciones automáticas, su sitio debe actualizarse dentro de las próximas 24 horas. Las actualizaciones automáticas están habilitadas por defecto en WordPress para versiones menores.

Si te fue útil esta publicación, recuerda compartirla en tus redes sociales.  También puedes dejarnos un comentario.

 

Click para comentar

Dejar Comentario

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

Más en Noticias