Sårbarhed i PharStreamWrapper-biblioteket, der påvirker Drupal, Joomla og Typo3

I biblioteket PharStreamWrapper, som giver handlere at beskytte sig imod af angreb gennem filsubstitution i "Phar"-formatet, identificeret sårbarhed (CVE-2019-11831), som giver dig mulighed for at omgå kodedeserialiseringsbeskyttelse ved at erstatte ".."-tegn i stien. For eksempel kan en angriber bruge en URL som "phar:///path/bad.phar/../good.phar" til et angreb, og biblioteket vil fremhæve basisnavnet "/path/good.phar", når kontrol, selvom under yderligere behandling af en sådan sti vil filen "/path/bad.phar" blive brugt.

Biblioteket er udviklet af skaberne af CMS TYPO3, men bruges også i Drupal- og Joomla-projekter, hvilket gør dem også modtagelige for sårbarheder. Problem rettet i udgivelser PharStreamWrapper 2.1.1 og 3.1.1. Drupal-projektet løste problemet i opdateringer 7.67, 8.6.16 og 8.7.1. I Joomla dukker problemet op siden version 3.9.3 og blev rettet i release 3.9.6. For at løse problemet i TYPO3 skal du opdatere PharStreamWapper-biblioteket.

På den praktiske side tillader en sårbarhed i PharStreamWapper en Drupal Core-bruger med 'Administer theme'-tilladelser at uploade en ondsindet phar-fil og få PHP-koden indeholdt i den til at blive eksekveret under dække af et legitimt phar-arkiv. Husk, at essensen af ​​"Phar-deserialisering"-angrebet er, at når du kontrollerer de indlæste hjælpefiler til PHP-funktionen file_exists(), deserialiserer denne funktion automatisk metadata fra Phar-filer (PHP-arkiv), når de behandler stier, der starter med "phar://" . Det er muligt at overføre en phar-fil som et billede, da funktionen file_exists() bestemmer MIME-typen efter indhold og ikke efter udvidelse.

Kilde: opennet.ru

Tilføj en kommentar