Sårbarhet i PharStreamWrapper-biblioteket som påverkar Drupal, Joomla och Typo3

På biblioteket PharStreamWrapper, som ger hanterare att skydda sig mot av attacker genom filersättning i "Phar"-formatet, identifieras sårbarhet (CVE-2019-11831), vilket låter dig kringgå kodavserialiseringsskydd genom att ersätta ".."-tecken i sökvägen. Till exempel kan en angripare använda en URL som "phar:///path/bad.phar/../good.phar" för en attack, och biblioteket kommer att markera basnamnet "/path/good.phar" när kontrollera, men vid vidare bearbetning av en sådan sökväg kommer filen "/path/bad.phar" att användas.

Biblioteket har utvecklats av skaparna av CMS TYPO3, men används även i Drupal- och Joomla-projekt, vilket gör dem också mottagliga för sårbarheter. Problem fixat i releaser PharStreamWrapper 2.1.1 och 3.1.1. Drupal-projektet fixade problemet i uppdateringarna 7.67, 8.6.16 och 8.7.1. I Joomla har problemet uppstått sedan version 3.9.3 och fixades i release 3.9.6. För att åtgärda problemet i TYPO3 måste du uppdatera PharStreamWapper-biblioteket.

På den praktiska sidan tillåter en sårbarhet i PharStreamWapper en Drupal Core-användare med "Administrera tema"-behörigheter att ladda upp en skadlig phar-fil och få PHP-koden som finns i den att exekveras under sken av ett legitimt phar-arkiv. Kom ihåg att kärnan i "Phar deserialization"-attacken är att när man kontrollerar de laddade hjälpfilerna för PHP-funktionen file_exists(), deserialiserar denna funktion automatiskt metadata från Phar-filer (PHP Archive) när man bearbetar sökvägar som börjar med "phar://" . Det är möjligt att överföra en phar-fil som en bild, eftersom funktionen file_exists() bestämmer MIME-typen efter innehåll och inte efter förlängning.

Källa: opennet.ru

Lägg en kommentar