ALERTA NARANJA: Vulnerabilidad Detectada, Actualiza Tu Moodle De Inmediato

1575
ORANGE ALERT: Update Moodle Now To Protect Your Site From This Serious Vulnerability

El investigador en seguridad informática Netanel Rubin ha detallado una vulnerabilidad crítica que permitiría a un usuario malicioso ejecutar código a nombre del servidor. Esta falla afecta a todas las versiones de Moodle, y ha sido resuelta en el último conjunto de actualizaciones para Moodle 2.7.19, 3.0.9, 3.1.5 y 3.2.2. Si tu sitio no está al día con alguna de estas versiones, la recomendación oficial es actualizar inmediatamente.

WIRIS

This story is available in English.

Rubin explica que el corazón del vacío inicia con el módulo AJAX para Moodle, tecnología ampliamente usada en sitios web modernos para ofrecer actualizaciones en tiempo real, sin que sea necesario refrescar toda la página.

Cuando un ingeniero crea funcionalidades que emplean el módulo AJAX, deben registrarla como “functión externa”. Esto crea un conducto que controla y limita los cambios que se pueden hacer en la base de datos de Moodle.

El problema comenzó cuando el conducto incluyó la habilidad de cambiar atributos de usuario. Rubin cree que cuando un primer equipo amplió las facultades del módulo en AJAX, pensó que estas no permitirían cambiar los niveles de autoridad del usuario en la administración del sitio. Pero un segundo equipo, a cargo del Bloque de Vista General del Curso, no tomo esto en consideración, al menos no en una parte diminuta del código.

El Bloque cuenta con una función que, al recibir una preferencia de ordenamiento, genera una lista de todos los cursos en los que el usuario se encuentra registrado, junto con sus respectivos roles. Cuando la función es invocada sin parámetro de preferencia, la función acude a un segmento de “código heredado” (legacy code). Rubin encontró aquí un desfase que abre la puerta para “Object Injection” o infiltración de objetos, práctica mediante la cual es posible añadir código intruso que altere significativamente los resultados de la función, más allá del uso esperado por el equipo de desarrollo.

Este es, a ojos de Rubin, el núcleo de la vulnerabilidad: los supuestos sobre la manera en que otras personas usarían las funciones.”Diferentes equipos de desarrollo, a diferentes momentos, con diferentes necesidades en mente, escriben código diferente para funcionalidades idénticas“. La casa Matriz de Moodle hace amplios y continuos esfuerzos en prevenir este tipo de desfases, filtrando rigurosamente las cosas que una tercera persona puede hacer con las funciones disponibles.

Rubin admite que sacar provecho de esta falla es complicado. Incluso si una intrusa adquiriera autoridad superior, aún encontraría varias limitaciones para ejercerla. No obstante, la entrada de Rubin ilustra cómo, teniendo familiaridad con el sistema, y operando con cautela, cualquiera podría ganar privilegios para ejecutar código malicioso con libertad relativamente amplia a nombre del servidor que aloja el sitio Moodle.

Como reflexión final, Rubin atribuye este tipo de errores humanos a “tenerse una gran cantidad de código, una gran cantidad de desarrolladores, y un carente nivel de documentación“, causando fisuras que pasan desapercibidas. Esto es una preocupación constante en la seguridad de grandes sistemas cuyo código base recibe contribuciones de muchas personas. No es, en lo absoluto, un problema exclusivo de Moodle.

La explotación de la vulnerabilidad realizada por Rubin, paso a paso, se encuentra aquí (En inglés).

Si la versión de tu sitio Moodle no es 3.2.2, 3.1.5, 3.0.9 o 2.7.19 (LTS), deberías actualizarla de inmediato.


Moonami LogoThis Moodle Technology related post is made possible by: Moonami a company that provides a full range of Moodle services that combine the flexibility, scalability, and power of Amazon’s world-leading cloud platform (AWS) with fanatical Moodle support. Click here to learn more.