Ang kahinaan sa library ng PharStreamWrapper na nakakaapekto sa Drupal, Joomla at Typo3

Sa library PharStreamWrapper, na nagbibigay ng mga humahawak upang maprotektahan laban sa ng mga pag-atake sa pamamagitan ng pagpapalit ng file sa format na "Phar", nakilala kahinaan (CVE-2019-11831), na nagbibigay-daan sa iyong i-bypass ang proteksyon ng deserialization ng code sa pamamagitan ng pagpapalit ng ".." na mga character sa path. Halimbawa, maaaring gumamit ang isang attacker ng URL tulad ng β€œphar:///path/bad.phar/../good.phar” para sa isang pag-atake, at iha-highlight ng library ang base na pangalan na β€œ/path/good.phar” kapag pagsuri, bagama't sa panahon ng karagdagang pagproseso ng naturang landas Ang file na "/path/bad.phar" ay gagamitin.

Ang library ay binuo ng mga tagalikha ng CMS TYPO3, ngunit ginagamit din sa mga proyekto ng Drupal at Joomla, na ginagawang madaling kapitan din sila sa mga kahinaan. Naayos ang isyu sa mga release PharStreamWrapper 2.1.1 at 3.1.1. Inayos ng proyekto ng Drupal ang isyu sa mga update 7.67, 8.6.16 at 8.7.1. Sa Joomla ang problema ay lumalabas mula noong bersyon 3.9.3 at naayos sa release 3.9.6. Upang ayusin ang problema sa TYPO3, kailangan mong i-update ang library ng PharStreamWapper.

Sa praktikal na bahagi, ang isang kahinaan sa PharStreamWapper ay nagbibigay-daan sa isang user ng Drupal Core na may mga pahintulot na 'Administer theme' na mag-upload ng isang malisyosong phar file at maging sanhi ng PHP code na nakapaloob dito upang maisagawa sa ilalim ng pagkukunwari ng isang lehitimong phar archive. Alalahanin na ang esensya ng pag-atake ng "Phar deserialization" ay kapag sinusuri ang mga na-load na help file ng PHP function na file_exists(), awtomatikong inaalis ng function na ito ang metadata mula sa mga Phar file (PHP Archive) kapag nagpoproseso ng mga path na nagsisimula sa "phar://" . Posibleng ilipat ang isang phar file bilang isang imahe, dahil tinutukoy ng file_exists() function ang uri ng MIME ayon sa nilalaman, at hindi sa pamamagitan ng extension.

Pinagmulan: opennet.ru

Magdagdag ng komento