Ranljivost v knjižnici PharStreamWrapper, ki vpliva na Drupal, Joomla in Typo3

V knjižnici PharStreamWrapper, ki zagotavlja upravljalnike za zaščito pred o napadi z zamenjavo datoteke v formatu "Phar", ugotovljeno ranljivost (CVE-2019-11831), ki vam omogoča, da obidete zaščito deserializacije kode z zamenjavo znakov »..« na poti. Napadalec lahko na primer za napad uporabi URL, kot je »phar:///path/bad.phar/../good.phar«, knjižnica pa bo označila osnovno ime »/path/good.phar«, ko preverjanje, čeprav bo med nadaljnjo obdelavo takšne poti uporabljena datoteka "/path/bad.phar".

Knjižnico so razvili ustvarjalci CMS TYPO3, uporablja pa se tudi v projektih Drupal in Joomla, zaradi česar sta prav tako dovzetna za ranljivosti. Težava je bila odpravljena v izdajah PharStreamWrapper 2.1.1 in 3.1.1. Projekt Drupal je težavo odpravil v posodobitvah 7.67, 8.6.16 in 8.7.1. V Joomli se težava pojavlja od različice 3.9.3 in je bila odpravljena v izdaji 3.9.6. Če želite odpraviti težavo v TYPO3, morate posodobiti knjižnico PharStreamWapper.

S praktične strani ranljivost v PharStreamWapper omogoča uporabniku Drupal Core z dovoljenji za skrbništvo teme, da naloži zlonamerno datoteko phar in povzroči izvajanje kode PHP, ki jo vsebuje, pod krinko zakonitega arhiva phar. Spomnimo se, da je bistvo napada "Phar deserialization" v tem, da pri preverjanju naloženih datotek pomoči funkcije PHP file_exists() ta funkcija samodejno deserializira metapodatke iz datotek Phar (PHP Archive) pri obdelavi poti, ki se začnejo s "phar://" . Datoteko phar je mogoče prenesti kot sliko, saj funkcija file_exists() določa vrsto MIME po vsebini in ne po končnici.

Vir: opennet.ru

Dodaj komentar