sábado, 21 de julio de 2012

Múltiples vulnerabilidades corregidas en Moodle


Se han publicado 12 boletines de seguridad para Moodle que solucionan vulnerabilidades que podían permitir la denegación de servicio, ataques XSS, inyección de código HTML y JavaScript, salto de restricciones de seguridad y revelación de información sensible.

Moodle es una aplicación web del tipo LMS (Learning Management System), escrita en PHP que se utiliza para la gestión de cursos en línea. Está publicada bajo licencia GNU GPL y ha sido traducida a más de 91 idiomas. Además de la comunicación entre profesorado y alumnos, dispone de distintas herramientas, como la subida de ficheros, calendario y foros.

Se han dado a conocer 12 vulnerabilidades en total (del boletín MSA-12-0039 al MSA-12-0050), siendo calificadas 10 de estas como de importancia menor y dos de importancia seria. Prácticamente todas las versiones, desde la 2.3 a la 2.0 están afectadas por alguna, pero especialmente las versiones  2.2 y 2.1.

La mayoría de los boletines solucionan vulnerabilidades provocadas por una incorrecta validación de datos, lo que daba lugar a diferentes impactos. Especialmente importantes son los boletines MSA-12-0047 y MSA-12-0041 que podrían permitir inyección SQL y ataques XSS, respectivamente. Otras vulnerabilidades, aunque calificadas como menores, son especialmente fáciles de aprovechar, como MSA-12-0050 que puede causar una denegación de servicio sólo realizando una búsqueda avanzada en el sitio.

A continuación detallamos las vulnerabilidades, identificándolas por su numero de boletín y CVE.

  • MSA-12-0039 (CVE-2012-3387): En la función 'file_save_draft_area_files' de 'lib/filelib.php' no se validan correctamente los límites de fichero cuando está activado el uso de referencias, lo que permitía la subida de ficheros sin limitar su tamaño cuando las referencias se permiten.
        
  • MSA-12-0040 (CVE-2012-3388): Un fallo en la función 'is_enrolled' de 'lib/accesslib.php' provoca que no se comprueben las capacidades de los usuarios cacheados, posibilitando así el salto de restricciones de seguridad.
         
  • MSA-12-0041 (CVE-2012-3389): Existe un error de falta de limpieza de los valores 'lti_typename' y 'lti_toolurl' de las peticiones de tipo POST en el módulo LTI que podría ser utilizado para llevar a cabo ataques 'cross-site scripting' (XSS) a través de peticiones POST.
         
  • MSA-12-0042 (CVE-2012-3390): Existe un fallo de comprobación de permisos en la función 'file_pluginfile' que podría permitir que los datos incrustados en un bloque estuvieran accesibles aun habiendo ocultado dicho bloque, lo que podría revelar información sensible.
         
  • MSA-12-0043 (CVE-2012-3391): Debido a una falta de comprobación del usuario que hace peticiones por RSS en 'forum/rsslib.php', un usuario podría ver el contenido de los foros Q&A sin haber creado ningún tema en el foro, lo cual es requisito para ello. Esto puede revelar información sensible a usuarios sin permisos para acceder a ella.
         
  • MSA-12-0044 (CVE-2012-3392): No se revisan correctamente las capacidades de un usuario a la hora de eliminar su suscripción de un foro, lo que podría permitir que llevaran a cabo esta acción sin tener permisos para ello realizando un salto de restricciones.
         
  • MSA-12-0045 (CVE-2012-3393): En 'repository/lib.php', responsable de la administración de los repositorios, los formularios para renombrar estos no estaban siendo filtrados, lo que podría provocar la inyección de código HTML o JavaScript a través de un nombre de repositorio especialmente diseñado.
         
  • MSA-12-0046 (CVE-2012-3394): Cuando se produce un redirección de un usuario tras la autenticación por LDAP a través de HTTPS, la función 'redirect' realiza esta redirección a través de HTTP.
        
  • MSA-12-0047 (CVE-2012-3395): El parámetro 'data_submitted' de el modulo de retroalimentación (feedback) no estaba siendo correctamente filtrado, lo que podía permitir ataques de inyección SQL.
         
  • MSA-12-0048 (CVE-2012-3396): En la zona de administración de cohortes o grupos globales, el parámetro 'name' no estaba siendo correctamente filtrado, lo que podía permitir ataques 'cross-site scripting' (XSS). Este error se introdujo con el parche para solucionar el boletín MDL-31691 .
         
  • MSA-12-0049 (CVE-2012-3397): A la hora de mostrar las actividades, la política de restricción de accesos 'show availability' sustituye erróneamente a las políticas de grupo, permitiendo que usuarios no autorizados vieran la actividad de otros usuarios que no debería serle revelada.
         
  • MSA-12-0050 (CVE-2012-3398): A través de la funcionalidad 'búsqueda avanzada' podrían hacerse peticiones ineficientes a la base de datos cuando esta tiene un gran número de registros y causar un ataque de denegación de servicio, provocada por largos periodos con gran carga de CPU.


Las vulnerabilidades de los boletines MSA-12-0046, MSA-12-0048 y MSA-12-0049 solo afectan a las versiones 2.3.x, 2.2.x, 2.1.x y 2.0.x.

Las versiones afectadas por los boletines MSA-12-0047 y MSA-12-0050 son las 2.2.x, 2.1.x y 2.0.x.

MSA-12-0040, MSA-12-0041 afectan a las versiones 2.3.x y 2.2.x, mientras que los boletines MSA-12-0042, MSA-12-0043, MSA-12-0044, MSA-12-0045 lo hacen a las versiones 2.2.x y 2.1.x.

Finalmente, MSA-12-0039 sólo afecta a la versión 2.3.x

Estas vulnerabilidades ya se encuentran corregidas en la última versión del código disponible en los repositorios públicos para cada una de las versiones de Moodle.

Más información:

MSA-12-0039: File upload validation issue

MSA-12-0040: Capabilities issue through caching

MSA-12-0041: XSS issue in LTI module

MSA-12-0042: File access issue in blocks

MSA-12-0043: Early information access issue in forum

MSA-12-0044: Capability check issue in forum subscriptions

MSA-12-0045: Injection potential in admin for repositories

MSA-12-0046: Insecure protocol redirection in LDAP authentication

MSA-12-0047: SQL injection potential in Feedback module

MSA-12-0048: Possible XSS in cohort administration

MSA-12-0049: Group restricted activity displayed to all users

MSA-12-0050: Potential DOS attack through database activity




Francisco López


No hay comentarios:

Publicar un comentario en la entrada