Chyba zabezpečení v knihovně PharStreamWrapper ovlivňující Drupal, Joomla a Typo3

V knihovně PharStreamWrapper, která poskytuje psovodům ochranu před z útoky prostřednictvím náhrady souborů ve formátu „Phar“, identifikované zranitelnost (CVE-2019-11831), který vám umožňuje obejít ochranu proti deserializaci kódu nahrazením znaků „..“ v cestě. Útočník může například k útoku použít adresu URL jako „phar:///cesta/bad.phar/../good.phar“ a knihovna zvýrazní základní název „/cesta/dobrý.phar“, když kontrola, i když při dalším zpracování takové cesty bude použit soubor "/cesta/bad.phar".

Knihovna byla vyvinuta tvůrci CMS TYPO3, ale používá se také v projektech Drupal a Joomla, díky čemuž jsou také náchylné k zranitelnostem. Problém opraven ve vydáních PharStreamWrapper 2.1.1 a 3.1.1. Projekt Drupal opravil problém v aktualizacích 7.67, 8.6.16 a 8.7.1. V Joomle se problém objevuje od verze 3.9.3 a byl opraven ve verzi 3.9.6. Chcete-li vyřešit problém v TYPO3, musíte aktualizovat knihovnu PharStreamWapper.

Z praktického hlediska zranitelnost v PharStreamWapper umožňuje uživateli Drupal Core s oprávněním 'Administrovat téma' nahrát škodlivý soubor phar a způsobit, že kód PHP v něm obsažený bude spuštěn pod rouškou legitimního archivu phar. Připomeňme, že podstatou útoku „Phar deserialization“ je to, že při kontrole načtených souborů nápovědy funkce PHP file_exists() tato funkce automaticky deserializuje metadata ze souborů Phar (archiv PHP) při zpracování cest začínajících „phar://“ . Je možné přenést soubor phar jako obrázek, protože funkce file_exists() určuje typ MIME podle obsahu, nikoli podle přípony.

Zdroj: opennet.ru

Přidat komentář