Na biblioteca , proporcionando manipuladores para protexer contra substituíndo ficheiros no formato "Phar", (), que permite eludir a protección contra a deserialización do código substituíndo os caracteres ".." na ruta. Por exemplo, un atacante podería usar un URL como "phar:///path/bad.phar/../good.phar" para un ataque, e a biblioteca seleccionaría o nome base "/path/good.phar" durante a verificación, aínda que o procesamento posterior dunha ruta deste tipo usaría o ficheiro "/path/bad.phar".
A biblioteca foi desenvolvida polos creadores do CMS TYPO3, pero tamén se usa en proxectos Drupal и Joomla, o que tamén os fai vulnerables. O problema está solucionado nas versións Proxecto Drupal Corrixiuse o problema nas actualizacións 7.67, 8.6.16 e 8.7.1. Joomla O problema existe desde a versión 3.9.3 e foi solucionado na versión 3.9.6. Para solucionar o problema en TYPO3, cómpre actualizar a biblioteca PharStreamWapper.
Desde un punto de vista práctico, a vulnerabilidade de PharStreamWapper permite ao usuario Drupal Core, con privilexios de "Administrar tema", carga un ficheiro phar malicioso e executa o código PHP que contén, disfrazado dun arquivo phar lexítimo. Como recordatorio, o ataque de "deserialización Phar" funciona deserializando automaticamente os metadatos dos ficheiros Phar (Arquivo PHP) ao comprobar os ficheiros de axuda cargados para a función PHP file_exists() ao procesar rutas que comezan por "phar://". É posible transferir un ficheiro phar como unha imaxe, xa que file_exists() determina o tipo MIME en función do contido do ficheiro, non da súa extensión.
Fonte: opennet.ru
