Teegis , mis pakub töötlemise kĂ€sitlemiseks kaitsemehhanisme failide asendamisega formaatides «Phar», (), mis vĂ”imaldab kĂ”rvaldada koodi deserialiseerimise kaitse, asendades sĂŒmboleid «..» teedes. NĂ€iteks vĂ”ib rĂŒndaja kasutada rĂŒnnaku jaoks URL-i nagu «phar://path/bad.phar/../good.phar», ja teek tuvastab kontrollimisel pĂ”hiteed «/path/good.phar», kuigi edasise töötlemise kĂ€igus kasutatakse faili «/path/bad.phar».
Teek on vÀlja töötatud CMS TYPO3 looja poolt, kuid seda kasutatakse ka projektides Drupal ja Joomla, muutes need samuti haavatavaks. Probleem on lahendatud vÀljalasetes . Drupal projekt lahendas probleemi vÀrskendustes 7.67, 8.6.16 ja 8.7.1. Joomlas avaldub probleem alates versioonist 3.9.3 ja on lahendatud vÀljalaske 3.9.6-s. TYPO3 puhul peab probleemi lahendamiseks uuendama PharStreamWapper teeki.
Praktiliselt vĂ”imaldab haavatavus PharStreamWapper Drupal Core kasutajal, kellel on teema haldamise Ă”igused (âAdminister themeâ), laadida ĂŒles pahatahtliku phar-faili ja saavutada selle kaudu PHP-koodi tĂ€itmine, esitades selle seadusliku phar-archiivina. Tuletame meelde, et «Phar deserialization» rĂŒnnaku sisu seisneb selles, et inotseeritud failide kontrolldes, PHP funktsioon file_exists() deserialiseerib automaatselt metainfot Phar failidest (PHP Archive) teed tööteldes, mis algavad «phar://»-ga. Phar-faili edastamine on vĂ”imalik pildi nĂ€ol, kuna file_exists() funktsioon mÀÀrab MIME-tĂŒĂŒbi sisu jĂ€rgi, mitte laiendi jĂ€rgi.
Allikas: opennet.ru
