Bibliotēkā , kas nodrošina apstrādātājus, lai aizsargātu pret izmantojot failu aizstāšanu “Phar” formātā, (), kas ļauj apiet koda deserializācijas aizsardzību, ceļā aizstājot rakstzīmes “.”. Piemēram, uzbrucējs uzbrukumam var izmantot URL, piemēram, “phar:///path/bad.phar/../good.phar”, un bibliotēka izcels pamatnosaukumu “/path/good.phar”, kad pārbaudot, lai gan šāda ceļa turpmākās apstrādes laikā tiks izmantots fails "/path/bad.phar".
Bibliotēku izstrādāja CMS TYPO3 veidotāji, bet tā tiek izmantota arī projektos Drupal и Joomla, kas padara tos arī neaizsargātus. Problēma ir novērsta laidienos. Projekts Drupal Problēma tika novērsta atjauninājumos 7.67, 8.6.16 un 8.7.1. Joomla Problēma pastāv kopš 3.9.3 versijas un tika novērsta 3.9.6 versijā. Lai novērstu problēmu TYPO3 versijā, ir jāatjaunina PharStreamWapper bibliotēka.
No praktiskā viedokļa PharStreamWapper ievainojamība ļauj lietotājam Drupal Kodols ar privilēģijām “Administrēt tēmu” augšupielādē ļaunprātīgu phar failu un izpilda tajā esošo PHP kodu, kas maskēts kā likumīgs phar arhīvs. Atgādinām, ka uzbrukums “Phar deserializācija” darbojas, automātiski deserializējot metadatus no Phar (PHP arhīva) failiem, pārbaudot augšupielādētos palīdzības failus PHP funkcijai file_exists() un apstrādājot ceļus, kas sākas ar “phar://”. Phar faila pārsūtīšana kā attēla ir iespējama, jo file_exists() nosaka MIME tipu, pamatojoties uz faila saturu, nevis tā paplašinājumu.
Avots: opennet.ru
