Në bibliotekë , që ofron trajtues për mbrojtjen nga nëpërmjet zëvendësimit të skedareve në formatin «Phar», (), e cila lejon kalimin e mbrojtjes ndaj deserializimit të kodit përmes zëvendësimit të karaktereve «..» në rrugë. Për shembull, një sulmues mund të përdorë për sulm një URL si «phar:///path/bad.phar/../good.phar» dhe biblioteka do të nxjerrë për verifikim emrin bazë «/path/good.phar», megjithatë gjatë përpunimit të këtij rrugëtimi do të përdoret skedari «/path/bad.phar».
Biblioteka është zhvilluar nga krijuesit e CMS TYPO3, por gjithashtu përdoret në projekte si Drupal dhe Joomla, duke i bërë ato gjithashtu të ndjeshme ndaj kësaj dobësie. Problemi është eliminuar në lëshimet . Projekti Drupal e ka zgjidhur problemin në përditësimet 7.67, 8.6.16 dhe 8.7.1. Në Joomla, problemi shfaqet duke filluar nga versioni 3.9.3 dhe është eliminuar në lëshimin 3.9.6. Për të zgjidhur problemin në TYPO3, kërkohet të përditësohet biblioteka PharStreamWrapper.
Nga ana praktike, dobĂ«sia nĂ« PharStreamWrapper lejon pĂ«rdoruesin e Drupal Core, i cili ka autorizimin pĂ«r administrimin e temave (âAdminister themeâ), tĂ« ngrejĂ« njĂ« skedar phar tĂ« dĂ«mshĂ«m dhe tĂ« arrijĂ« ekzekutimin e kodit PHP tĂ« vendosur nĂ« tĂ« si njĂ« arkiv lĂ©gjitim phar. KujtojmĂ« se thelbi i sulmit «Phar deserialization» Ă«shtĂ« se gjatĂ« verifikimit tĂ« skedareve tĂ« ngarkuara me ndihmĂ«n e funksionit PHP file_exists(), ky funksion automatikisht ekzekuton deserializimin e metadaten nga skedarĂ«t Phar (PHP Archive) gjatĂ« pĂ«rpunimit tĂ« rrugĂ«ve qĂ« fillojnĂ« me «phar://». Shkarkimi i skedarit phar Ă«shtĂ« e mundur nĂ« guise tĂ« njĂ« imazhi, pasi funksioni file_exists() pĂ«rcakton llojin MIME sipas pĂ«rmbajtjes, jo sipas prapashtesĂ«s.
Burimi: opennet.ru
