I biblioteket , som tillhandahÄller hanterare för skydd mot filinjektion i "Phar"-formatet. (), vilket gör det möjligt att kringgÄ skyddet mot koddeserialisering genom att injicera ".."-symboler i sökvÀgen. Till exempel kan en angripare anvÀnda en URL som "phar:///path/bad.phar/.../good.phar" och biblioteket kommer att extrahera det grundlÀggande namnet "\/path\/good.phar" vid kontrollen, Àven om filen "\/path\/bad.phar" anvÀnds vid den efterföljande hanteringen av en sÄdan sökvÀg.
Biblioteket har utvecklats av skaparna av CMS TYPO3, men anvÀnds ocksÄ i projekt som Drupal och Joomla, vilket gör dem utsatta för samma sÄrbarhet. Problemet ÄtgÀrdades i versionerna . Drupal-projektet ÄtgÀrdade problemet i uppdateringarna 7.67, 8.6.16 och 8.7.1. I Joomla framtrÀdde problemet frÄn version 3.9.3 och rÀttades i version 3.9.6. För att ÄtgÀrda problemet i TYPO3 krÀvs en uppdatering av PharStreamWrapper-biblioteket.
Ur ett praktiskt perspektiv gör sĂ„rbarheten i PharStreamWrapper att en anvĂ€ndare med administratörsrĂ€ttigheter i Drupal Core som har behörigheten 'Administer theme' kan ladda upp en skadlig phar-fil och lyckas exekvera den PHP-kod som finns inbĂ€ddad i den, under förespegling av en legitim phar-arkiv. Vi pĂ„minner om att attackens kĂ€rna med 'Phar deserialization' Ă€r att vid kontroll av de uppladdade filerna genom PHP-funktionen file_exists() sĂ„ utför denna funktion automatiskt deserialisering av metadata frĂ„n Phar-filer (PHP Archive) nĂ€r den hanterar sökvĂ€gar som börjar med "phar:///". Ăverföring av en phar-fil kan göras i form av en bild, eftersom file_exists() definierar MIME-typ baserat pĂ„ innehĂ„ll snarare Ă€n filĂ€ndelse.
KĂ€lla: opennet.ru
