Nan bibliyotèk , ki bay moun kap okipe yo pwoteje kont atravè sibstitisyon dosye nan fòma "Phar", (), ki pèmèt ou kontoune pwoteksyon deserialization kòd pa ranplase ".." karaktè nan chemen an. Pou egzanp, yon atakè ka itilize yon URL tankou "phar:///path/bad.phar/../good.phar" pou yon atak, epi bibliyotèk la pral mete aksan sou non baz "/path/good.phar" lè tcheke, byenke pandan plis pwosesis nan yon chemen konsa Yo pral itilize dosye "/path/bad.phar".
Kreyatè CMS TYPO3 yo te devlope bibliyotèk la, men li itilize tou nan pwojè yo. Drupal и Joomla, sa ki fè yo vilnerab tou. Pwoblèm nan rezoud nan vèsyon yo Pwojè Drupal Pwoblèm nan te rezoud nan mizajou 7.67, 8.6.16 ak 8.7.1. Joomla Pwoblèm nan te prezan depi vèsyon 3.9.3 epi li te rezoud nan vèsyon 3.9.6 la. Pou rezoud pwoblèm nan nan TYPO3, ou bezwen mete bibliyotèk PharStreamWapper la ajou.
Sou yon pwen de vi pratik, vilnerabilite ki nan PharStreamWapper pèmèt itilizatè a Drupal Core, avèk privilèj 'Administre tèm', telechaje yon fichye phar move epi egzekite kòd PHP ki ladan l, degize an yon achiv phar lejitim. Pou nou raple w, atak "deseryalizasyon Phar" la fonksyone lè li otomatikman deseryalize metadone ki soti nan fichye Phar (Achiv PHP) yo lè y ap tcheke fichye èd telechaje yo pou fonksyon PHP file_exists() la lè y ap trete chemen ki kòmanse ak "phar://." Transfere yon fichye phar kòm yon imaj posib, piske file_exists() detèmine kalite MIME a dapre kontni fichye a, pa ekstansyon li.
Sous: opennet.ru
