martes, 6 de junio de 2017

¡¡Estamos igual o peor que hace años!!

En una de las últimas auditorias sobre un WordPress de "última generación", más concretamente: versión 7.4.5, se encontró con una fuga información conocida desde 2011, más concretamente sobre las versiones de WordPress:  2.6, 3.1, 3.1.1, 3.1.3 y 3.2-beta2.

La fuga de información permite conocer los nombres de los usuarios almacenados en la base de datos de WordPress, y se encuentra identificada como: CWE-715.

Está vulnerabilidad se categoriza como:

Impacto: Bajo
Explotable remotamente: Sí
Explotable locamente: Sí

Para ello sólo hay que jugar con el parámetro "author" con el que trabaja WordPress. Dicho parámetro acepta valores numéricos que hacen referencia al ID del usuario, por lo que si se utiliza la petición: [http|https]://<dominio>/?author=<ID> , se podría conocer el nombre del usuario, e incluso ser redirigido hacía la página personal del usuario. Aunque esto último, supuestamente , a partir de la versión 3.1.3 esto ya no se puede.

Más información:
https://www.talsoft.com.ar/site/talsoft-advisory-security-wordpress-user-id-and-user-name-disclosure/

Se quiso probar con otro sitio donde estuviera instalada la última versión de WordPress (7.4.5), y me se encontró lo siguiente:

Sitio Web que utiliza la última versión conocida de WordPress.

Nombre de uno de los usuarios almacenados en la base de datos de WordPress

Es decir, al igual que la que se audito, esté sitio también permite enumerar los usuarios almacenados en la base de datos mediante el CWE-715.

¡Después de tantos años seguimos igual!

¡¡O peor!!, ya que se nos redirige a la página del usuario ... algo que debería estar resuelto desde la versión: 3.1.3

Página web del usuario:"gregwstuart"

CONTRAMEDIDA

Recomiendo encarecidamente el bastionado del servicio WordPress mediante algún tipo de guía. Sugiero la guía: CCN-STIC-460

https://www.ccn-cert.cni.es/series-ccn-stic/guias-de-acceso-publico-ccn-stic/952-ccn-stic-460-seguridad-en-wordpress/file.html


Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

ACTUALIZACIÓN (21/06/2017)

Si se introduce el siguiente código en el archivo: funcions.php, se podrá evitar la enumeración a través del parámetro "author", ya que dichas peticiones serán redirigidas:

Código que permite evitar la enumeración de usuarios a través del parámetro: "author".


2 comentarios:

  1. La verdad es que probando con la versión 4.8 de WP, al probarlo con ID 0 (siendo un sitio WP propio y sabiendo de antemano que tiene un único usuario) se llega a la relación de publicaciones del autor al que corresponda ese ID, pero no a la página del autor en si mismo.

    ResponderEliminar
  2. Tienes que tener en cuenta que depende de como hayas configurado tu WP.

    En tu caso puede que hayas bloqueado la impresión de los datos del usuario, no así las noticias generadadas por ese usuario.

    Es decir, con toda probabilidad, al realizar la petición con "?author=0", dicha petición redirige automáticamente a la página del usuario. En donde sólo se está dando información sobre las entradas publicadas por el usuario en cuestión.

    Muchas gracias
    Un saludo

    ResponderEliminar