Sårbarhet i PharStreamWrapper-biblioteket som påvirker Drupal, Joomla og Typo3

På biblioteket PharStreamWrapper, som gir behandlere å beskytte seg mot av angrep gjennom filerstatning i "Phar"-formatet, identifisert sårbarhet (CVE-2019-11831), som lar deg omgå kodedeserialiseringsbeskyttelse ved å erstatte ".."-tegn i banen. For eksempel kan en angriper bruke en URL som "phar:///path/bad.phar/../good.phar" for et angrep, og biblioteket vil fremheve basenavnet "/path/good.phar" når sjekker, men under videre behandling av en slik sti vil filen "/path/bad.phar" bli brukt.

Biblioteket er utviklet av skaperne av CMS TYPO3, men brukes også i Drupal- og Joomla-prosjekter, noe som gjør dem også utsatt for sårbarheter. Problem løst i utgivelser PharStreamWrapper 2.1.1 og 3.1.1. Drupal-prosjektet løste problemet i oppdateringer 7.67, 8.6.16 og 8.7.1. I Joomla har problemet dukket opp siden versjon 3.9.3 og ble fikset i versjon 3.9.6. For å fikse problemet i TYPO3, må du oppdatere PharStreamWapper-biblioteket.

På den praktiske siden lar en sårbarhet i PharStreamWapper en Drupal Core-bruker med «Administrere tema»-tillatelser laste opp en ondsinnet phar-fil og få PHP-koden i den til å kjøres under dekke av et legitimt phar-arkiv. Husk at essensen av "Phar-deserialisering"-angrepet er at når du sjekker de lastede hjelpefilene til PHP-funksjonen file_exists(), deserialiserer denne funksjonen automatisk metadata fra Phar-filer (PHP Archive) når du behandler stier som starter med "phar://" . Det er mulig å overføre en phar-fil som et bilde, siden file_exists()-funksjonen bestemmer MIME-typen etter innhold, og ikke etter utvidelse.

Kilde: opennet.ru

Legg til en kommentar