PharStreamWrapper liburutegian ahultasuna Drupal, Joomla eta Typo3-ren eraginpean

Liburutegian PharStreamWrapper, hauetatik babesteko kudeatzaileak eskaintzen dituena - erasoak "Phar" formatuan fitxategien ordezkapenaren bidez, identifikatu zaurgarritasuna (CVE-2019-11831), eta horri esker, kodearen deserializazioaren babesa saihestu dezakezu bideko ".." karaktereak ordezkatuz. Adibidez, erasotzaile batek "phar:///path/bad.phar/../good.phar" bezalako URL bat erabil dezake eraso baterako, eta liburutegiak "/path/good.phar" oinarrizko izena nabarmenduko du denean. egiaztatzea, nahiz eta bide hori gehiago prozesatzen ari den bitartean "/path/bad.phar" fitxategia erabiliko da.

Liburutegia CMS TYPO3-ren sortzaileek garatu zuten, baina Drupal eta Joomla proiektuetan ere erabiltzen da, eta horrek ahuleziak ere jasan ditzake. Arazoa argitalpenetan konpondu da PharStreamWrapper 2.1.1 eta 3.1.1. Drupal proiektuak arazoa konpondu zuen 7.67, 8.6.16 eta 8.7.1 eguneraketetan. Joomla-n arazoa 3.9.3 bertsiotik agertzen da eta 3.9.6 bertsioan konpondu zen. TYPO3-n arazoa konpontzeko, PharStreamWapper liburutegia eguneratu behar duzu.

Alde praktikoan, PharStreamWapper-en ahultasun batek "Administratu gaia" baimenak dituen Drupal Core erabiltzaile bati phar fitxategi maltzur bat igo eta bertan dagoen PHP kodea exekutatzea ahalbidetzen du legezko phar artxibo baten itxurapean. Gogoratu "Phar deserialization" erasoaren funtsa PHP funtzioaren file_exists() kargatutako laguntza-fitxategiak egiaztatzean, funtzio honek Phar fitxategietako metadatuak automatikoki deserializatzen dituela (PHP Artxiboa) "phar://"-rekin hasten diren bideak prozesatzen dituenean. . Posible da phar fitxategi bat irudi gisa transferitzea, file_exists() funtzioak MIME mota edukiaren arabera zehazten baitu, eta ez luzapenaren arabera.

Iturria: opennet.ru

Gehitu iruzkin berria