El pasado 12 de enero de este año se descubrió una vulnerabilidad en uno de los plugins de la conocida plataforma de publicación libre, Wordpress. Específicamente el plugin vulnerado es Count Per Day, en todas sus versiones anteriores a la 3.3.1.

Este plugin es muy utilizado, y algunas de las funcionalidades de las que dispone son:

  • Contabilizar visitantes y lecturas
  • Mostrar lecturas por página
  • Mostrar visitantes del día, la semana, el mes, etc.
  • Mostrar visitantes por país
  • Traducción a diversos lenguajes

La explotación de la vulnerabilidad permite realizar una inyección XSS no persistente o descargar un archivo arbitrario del servidor.

La vulnerabilidad XSS permite inyectar código en el sitio vulnerable mediante la modificación de la URL. Concretamente, la falla se encuentra en el modulo map.php. A través de la misma, un atacante podría hacer uso de Ingeniería Social para obtener algún tipo de información mediante el envío de un hipervínculo adulterado, obteniendo provecho de esta vulnerabilidad. Un ejemplo claro de esto sería la inyección de algún tipo de formulario haciéndole creer a la víctima que este es auténtico, para que ingrese allí sus credenciales de acceso y así el atacante obtiene información valiosa. A su vez, existen otras variantes utilizando XSS.

XSS en Count Per Day de Wordpress

El otro tipo de vulnerabilidad es aún más destacable, se encuentra en el módulo download.php. Una vez explotada esta vulnerabilidad, se puede descargar arbitrariamente cualquier archivo que se encuentra en el servidor. La falla radica en la falta de controles para encapsular el directorio de trabajo en el cual radica el plugin, permitiendo así saltar dicho control, y acceder a cualquier archivo en el sistema servidor. Un ejemplo crítico de esta vulnerabilidad, es por ejemplo, descargarse el archivo /etc/passwd, que se halla en los servidores de tipo Unix, y en el cual se encuentran almacenadas mediante encriptación todas las contraseñas de todos los usuarios del sistema. También es posible descargar el archivo de configuración del propio Wordpress (el archivo wp-config.php), el cual contiene la contraseña de la base de datos que utiliza esta plataforma, entre otros datos de origen crítico.

Contraseñas de Unix

Con el fin mantener un sitio implementado en Wordpress seguro, si se desea utilizar el plugin Count Per Day para obtener estadísiticas, es recomendable actualizar el mismo a su última versión (que ya se encuentra reparada) y así poder disfrutar de las ventajas de las que dispone esta extensión. Una pequeña vulnerabilidad puede exponer información de forma innecesaria, especialmente cuando ya se encuentra solucionada.

Fernando Catoira
Analista de Seguridad