Dobësi në bibliotekën PharStreamWrapper që prek Drupal, Joomla dhe Typo3

Në bibliotekë PharStreamWrapper, i cili siguron mbajtës për t'u mbrojtur kundër mbajtjen sulm përmes zëvendësimit të skedarit në formatin "Phar", identifikuar cenueshmëria (CVE-2019-11831), i cili ju lejon të anashkaloni mbrojtjen e deserializimit të kodit duke zëvendësuar karakteret ".." në shteg. Për shembull, një sulmues mund të përdorë një URL si "phar:///path/bad.phar/../good.phar" për një sulm dhe biblioteka do të nxjerrë në pah emrin bazë "/path/good.phar" kur duke kontrolluar, edhe pse gjatë përpunimit të mëtejshëm të një rruge të tillë do të përdoret skedari "/path/bad.phar".

Biblioteka u zhvillua nga krijuesit e CMS TYPO3, por përdoret gjithashtu në projektet Drupal dhe Joomla, gjë që i bën ata gjithashtu të ndjeshëm ndaj dobësive. Problemi u rregullua në publikime PharStreamWrapper 2.1.1 dhe 3.1.1. Projekti Drupal e rregulloi problemin në përditësimet 7.67, 8.6.16 dhe 8.7.1. Në Joomla problemi shfaqet që në versionin 3.9.3 dhe u rregullua në versionin 3.9.6. Për të rregulluar problemin në TYPO3, duhet të përditësoni bibliotekën PharStreamWapper.

Nga ana praktike, një dobësi në PharStreamWapper lejon një përdorues Drupal Core me lejet e 'Administer theme' të ngarkojë një skedar phar me qëllim të keq dhe të bëjë që kodi PHP që gjendet në të të ekzekutohet nën maskën e një arkivi legjitim phar. Kujtojmë që thelbi i sulmit "Phar deserialization" është që kur kontrolloni skedarët e ngarkuar të ndihmës të funksionit PHP file_exists(), ky funksion deserializon automatikisht metadatat nga skedarët Phar (Arkivi PHP) kur përpunon shtigjet që fillojnë me "phar://" . Është e mundur të transferohet një skedar phar si imazh, pasi funksioni file_exists() përcakton llojin MIME sipas përmbajtjes dhe jo sipas shtrirjes.

Burimi: opennet.ru

Shto një koment