Drupal, Joomla болон Typo3-т нөлөөлөх PharStreamWrapper номын сангийн эмзэг байдал

Номын санд PharStreamWrapper, хамгаалахын тулд зохицуулагчийг хангадаг барьж байна дайралт "Phar" форматаар файлыг орлуулах замаар, тодорхойлсон эмзэг байдал (CVE-2019-11831), энэ нь зам дээрх ".." тэмдэгтүүдийг орлуулах замаар кодын цувралаас хамгаалах хамгаалалтыг тойрч гарах боломжийг олгодог. Жишээлбэл, халдагчид халдлага хийхдээ "phar:///path/bad.phar/../good.phar" гэх мэт URL-г ашиглаж болох бөгөөд номын сан "/path/good.phar" гэсэн үндсэн нэрийг тодруулна. шалгах, гэхдээ ийм замыг цаашид боловсруулах үед "/path/bad.phar" файлыг ашиглах болно.

Номын санг CMS TYPO3-ийг бүтээгчид бүтээсэн боловч Drupal болон Joomla төслүүдэд ашигладаг бөгөөд энэ нь тэднийг эмзэг байдалд өртөмтгий болгодог. Асуудлыг хувилбаруудад зассан PharStreamWrapper 2.1.1 ба 3.1.1. Drupal төсөл нь 7.67, 8.6.16, 8.7.1 шинэчлэлтүүдэд асуудлыг зассан. Joomla дээр асуудал 3.9.3 хувилбараас хойш гарч ирсэн бөгөөд 3.9.6 хувилбар дээр засварлагдсан. TYPO3 дээрх асуудлыг засахын тулд PharStreamWapper номын санг шинэчлэх шаардлагатай.

Практик талаас нь авч үзвэл, PharStreamWapper-ийн эмзэг байдал нь "Загварыг удирдах" зөвшөөрөлтэй Drupal Core хэрэглэгчдэд хортой phar файл байршуулж, түүнд агуулагдах PHP кодыг хууль ёсны phar архивын нэрийн дор ажиллуулах боломжийг олгодог. "Phar deserialization" халдлагын мөн чанар нь file_exists() PHP функцийн ачаалагдсан тусламжийн файлуудыг шалгах үед энэ функц нь "phar://" -ээр эхэлсэн замыг боловсруулахдаа Phar файлуудын (PHP архив) мета өгөгдлийг автоматаар цувралаас ангижруулдаг гэдгийг санаарай. . file_exists() функц нь MIME төрлийг өргөтгөлөөр бус контентоор нь тодорхойлдог тул phar файлыг зураг хэлбэрээр шилжүүлэх боломжтой.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх