Pagkahuyang sa librarya sa PharStreamWrapper nga nakaapekto sa Drupal, Joomla ug Typo3

Sa library PharStreamWrapper, nga naghatag ug mga tigdumala aron mapanalipdan batok nagkupot mga pag-atake pinaagi sa pag-ilis sa file sa β€œPhar” format, giila pagkahuyang (CVE-2019-11831), nga nagtugot kanimo sa paglaktaw sa proteksyon sa deserialization sa code pinaagi sa pag-ilis sa ".." nga mga karakter sa agianan. Pananglitan, ang usa ka tig-atake mahimong mogamit sa usa ka URL sama sa "phar:///path/bad.phar/../good.phar" alang sa usa ka pag-atake, ug ang librarya magpasiugda sa base nga ngalan "/path/good.phar" kung pagsusi, bisan pa sa panahon sa dugang nga pagproseso sa maong dalan Ang file "/path/bad.phar" gamiton.

Ang librarya gimugna sa mga tiglalang sa CMS TYPO3, apan gigamit usab sa Drupal ug Joomla nga mga proyekto, nga naghimo kanila nga daling madala sa mga kahuyangan. Naayo ang isyu sa mga pagpagawas PharStreamWrapper 2.1.1 ug 3.1.1. Giayo sa proyekto sa Drupal ang isyu sa mga update 7.67, 8.6.16 ug 8.7.1. Sa Joomla ang problema makita sukad sa bersyon 3.9.3 ug naayo sa pagpagawas sa 3.9.6. Aron masulbad ang problema sa TYPO3, kinahanglan nimo nga i-update ang librarya sa PharStreamWapper.

Sa praktikal nga bahin, ang usa ka pagkahuyang sa PharStreamWapper nagtugot sa usa ka Drupal Core nga tiggamit nga adunay mga pagtugot sa 'Administer theme' nga mag-upload sa usa ka malisyoso nga phar file ug hinungdan nga ang PHP code nga naa niini ipatuman sa ilalum sa usa ka lehitimong phar archive. Hinumdomi nga ang esensya sa pag-atake sa "Phar deserialization" mao nga kung susihon ang gikarga nga mga file sa tabang sa PHP function file_exists(), kini nga function awtomatiko nga nag-deserialize sa metadata gikan sa mga file sa Phar (PHP Archive) kung giproseso ang mga agianan nga nagsugod sa "phar: //" . Posible nga ibalhin ang usa ka phar file ingon usa ka imahe, tungod kay ang file_exists() function nagtino sa tipo sa MIME pinaagi sa sulud, ug dili pinaagi sa extension.

Source: opennet.ru

Idugang sa usa ka comment