Vulnerabilidade na biblioteca PharStreamWrapper que afecta a Drupal, Joomla e Typo3

Na biblioteca PharStreamWrapper, que proporciona aos manipuladores para protexer sostendo ataques mediante a substitución de ficheiros no formato "Phar", identificado vulnerabilidade (CVE-2019-11831), o que lle permite evitar a protección contra a deserialización do código substituíndo os caracteres ".." na ruta. Por exemplo, un atacante pode usar un URL como "phar:///path/bad.phar/../good.phar" para un ataque, e a biblioteca resaltará o nome base "/path/good.phar" cando comprobando, aínda que durante o procesamento posterior de tal camiño Usarase o ficheiro "/path/bad.phar".

A biblioteca foi desenvolvida polos creadores do CMS TYPO3, pero tamén se usa en proxectos Drupal e Joomla, o que os fai tamén susceptibles a vulnerabilidades. Problema solucionado nas versións PharStreamWrapper 2.1.1 e 3.1.1. O proxecto Drupal solucionou o problema nas actualizacións 7.67, 8.6.16 e 8.7.1. En Joomla o problema aparece dende a versión 3.9.3 e solucionouse na versión 3.9.6. Para solucionar o problema en TYPO3, cómpre actualizar a biblioteca PharStreamWapper.

No lado práctico, unha vulnerabilidade en PharStreamWapper permite que un usuario de Drupal Core con permisos de "Administrar tema" cargue un ficheiro phar malicioso e faga que o código PHP contido nel se execute baixo o pretexto dun arquivo phar lexítimo. Lembre que a esencia do ataque "Phar deserialization" é que ao comprobar os ficheiros de axuda cargados da función PHP file_exists(), esta función deserializa automaticamente os metadatos dos ficheiros Phar (PHP Archive) ao procesar camiños que comezan por "phar://". . É posible transferir un ficheiro phar como imaxe, xa que a función file_exists() determina o tipo MIME polo contido, e non pola extensión.

Fonte: opennet.ru

Engadir un comentario