El equipo de desarrollo de AkeebaBackup.com ha publicado un boletín de seguridad acerca de la extensión Akeeba Backup de copias de seguridad, más popular de Joomla y de Akeeba Solo (PrestaShop, WordPress, Moodle, etc.) en el que informa de una vulnerabilidad de divulgación de información que afecta a la API remota JSON que sólo está disponible al habilitar las copias de seguridad de aplicaciones para usuario.
La naturaleza de esta vulnerabilidad hace que sea casi imposible explotar a menos que seas un criptoanalista experimentado y no se puede utilizar directamente para hackear un sitio (el atacante no puede escribir en los archivos o en la base de datos). Aunque es muy difícil de utilizar en una situación real, se ha publicado una actualización de seguridad para todas las versiones de Akeeba Backup y Akeeba Solo y se pide a todos los usuarios que actualicen como precaución sensata.
Akeeba Backup actualmente tiene más de 8 millones de descargas, y es por excelencia una de las extensiones para Joomla más usadas del momento para realizar copias de seguridad de sitios web completos y restaurarlas posteriormente en el mismo hosting o utilizarlas para restaurar la web en otro hosting (traslado).
Esta vulnerabilidad ha sido descubierta por Marc-Alexandre Montpas del equipo de Sucuri LLC, quien destaca en todo momento la colaboración y facilidades dados por Nicholas K. Dionysopoulos y su equipo de desarrollo para gestionar la incidencia y evitar la difusión de los detalles de la vulnerabilidad al menos durante 30 días.
Con una copia de las copias de seguridad, un atacante puede encontrar las contraseñas de la base de datos (almacenadas en configuration.php) y la lista de usuarios con sus contraseñas con algoritmo hash y el hash tokens para el restablecimiento de contraseña.
No obstante tanto Sucuri como AkeebaBackup.com consideran que el riesgo de esta vulnerabilidad es 'bajo' debido a la complejidad para explotar la misma.
¿Quien está en riesgo?
Esta vulnerabilidad está presente en los sitios web Joomla que ejecutan Akeeba Backup y que tienen la opción 'Habilitar copia de seguridad remota y frontend' activada. Si este es tu caso debes actualizar inmediatamente esta extensión tan pronto como sea posible.
Ten en cuenta que el ataque requiere un alto nivel de sofisticación, de manera que sólo un criptoanalista experimentado puede entenderlo. Es por esto que no fue detectado y explotado durante años. Si tu sitio ha sido hackeado hace poco, no es probable que haya sido a través de esta vulnerabilidad.
El equipo de AkeebaBackup.com respondió muy bien y publicó en su blog un artículo que proporciona instrucciones de actualización para los usuarios de esta extensión.
¿Cómo es eso posible?
La extensión contiene una API JSON en toda regla que permite a sus usuarios configurar fácilmente algunos sistemas de copias de seguridad remotas automáticas. También implementa un mecanismo de cifrado avanzado (AES utilizando con el encadenamiento Cipher-block (CBC) y Contador (CTR) modos de cifrado) destinado a proporcionar una forma segura de evitar que intrusos roben la copia de seguridad en los sitios web que no tienen un certificado SSL.
El problema se encuentra en la forma en que se maneja la autenticación del usuario cuando se ha recibido una petición cifrada. La extensión simplemente no va a través de la rutina de autenticación basada en la suposición de que si el usuario es capaz de enviar una carga útil JSON cifrada válida, conoce la clave secreta del sitio web, y si sabe parte de la información es un usuario legítimo.
Con este comportamiento el problema es que un atacante podría adivinar otra clave mediante cargas útiles JSON cifradas válidas. Una vez hecho esto, podía comunicarse con la API como un usuario legítimo lo haría.
Si un atacante es capaz de comunicarse con la API, también podría utilizar su nueva capacidad de eludir las protecciones criptográficas puestas en su lugar por Joomla! para las solicitudes de restablecimiento de contraseña, que sólo va en contra de los usuarios con privilegios administrativos que no son super-administradores.
Instrucciones de actualización para usuarios de Akeeba Backup para Joomla! 3.11.x, Akeeba Solo 1.0.x y Akeeba Backup para WordPress 1.0.x
- Los usuarios de Joomla! pueden ir a Extensiones, Gestor de Extensiones, Actualizaciones e instalar las actualizaciones disponibles para Akeeba Backup.
- Los usuarios de WordPress de la versión Core puede utilizar las actualizaciones de plugins disponibles para WordPress.
- Los usuarios de WordPress de la versión Professional y usuarios Akeeba Solo puede utilizar el actualizador integrado en el software.
Nota: Sólo actualizar a la última versión disponible según las instrucciones de la documentación.
Instrucciones de actualización para usuarios de versiones anteriores de Akeeba Backup para Joomla!
Debes ir a la página de compatibilidad y encontrar la versión adecuada de Akeeba Backup para Joomla! y tu versión de PHP. Recuerda que los números de versión no son decimales. Los ceros finales son importantes. 5.3.28 es superior a 5.3.4. Para obtener más información consulta la página de Cómo leer los números de versión. Instala en tu sitio el archivo ZIP que hayas descargado, sin desinstalar la versión existente.
Instrucciones de actualización para usuarios profesionales (versión de pago) con una suscripción expirada
Descarga la última versión del core de la misma familia de la versión profesional existente. Puedes encontrar las últimas versiones en la página de compatibilidad de Akeebabackup.com
Extrae el archivo ZIP en tu equipo. ¡No lo instales en tu sitio web!.
Busca el archivo extraído frontend/models/json.php (versión 3.2.8) o frontend/models/json.php (todas las demás versiones) y subelo al directorio de Joomla /components/com_akeeba/models de tu sitio, remplazando el archivo existente.
Es importante realizar una copia de seguridad completa del sitio web antes de proceder a actualizar el componente.