Vulnerabilidad en la biblioteca PharStreamWrapper que afecta a Drupal, Joomla y Typo3

En biblioteca PharStreamWrapper, que proporciona manipuladores para proteger contra de ataques mediante la sustitución de archivos en el formato “Phar”, identificado vulnerabilidad (CVE-2019-11831), que le permite eludir la protección de deserialización de código sustituyendo los caracteres ".." en la ruta. Por ejemplo, un atacante puede usar una URL como “phar:///path/bad.phar/../good.phar” para un ataque, y la biblioteca resaltará el nombre base “/path/good.phar” cuando comprobando, aunque durante el procesamiento posterior de dicha ruta se utilizará el archivo "/path/bad.phar".

La biblioteca fue desarrollada por los creadores del CMS TYPO3, pero también se utiliza en proyectos Drupal y Joomla, lo que los hace también susceptibles a vulnerabilidades. Problema solucionado en las versiones PharStreamWrapper 2.1.1 y 3.1.1. El proyecto Drupal solucionó el problema en las actualizaciones 7.67, 8.6.16 y 8.7.1. En Joomla el problema aparece desde la versión 3.9.3 y se solucionó en la versión 3.9.6. Para solucionar el problema en TYPO3, debe actualizar la biblioteca PharStreamWapper.

En el aspecto práctico, una vulnerabilidad en PharStreamWapper permite a un usuario de Drupal Core con permisos de 'Administrar tema' cargar un archivo phar malicioso y hacer que el código PHP contenido en él se ejecute bajo la apariencia de un archivo phar legítimo. Recuerde que la esencia del ataque de “deserialización de Phar” es que al verificar los archivos de ayuda cargados de la función PHP file_exists(), esta función deserializa automáticamente los metadatos de los archivos Phar (Archivo PHP) cuando procesa rutas que comienzan con “phar://” . Es posible transferir un archivo phar como imagen, ya que la función file_exists() determina el tipo MIME por contenido y no por extensión.

Fuente: opennet.ru

Añadir un comentario