Është gjetur një vektor i ri sulmi ndaj http-serverit Apache, i cili ka mbetur i pandreqshëm në versionin 2.4.50 dhe lejon qasjen në skedarë nga zona jashtë katalogut të rrënjës së sites. Për më tepër, studiuesit kanë zbuluar një mënyrë që, në prani të disa konfigurimeve të çuditshme, lejon jo vetëm leximin e skedarëve sistemikë, por gjithashtu ekzekutimin e kodit të tyre në server në distancë. Problemi shfaqet vetëm në versionet 2.4.49 dhe 2.4.50, versionet më të hershme nuk janë të prekshme nga kjo dobësi. Për të eliminuar këtë variant të ri të dobësisë, është lëshuar menjëherë versioni Apache httpd 2.4.51.
По своей сути новая проблема (CVE-2021-42013) полностью аналогична изначальной уязвимости (CVE-2021-41773) в 2.4.49, разница лишь в иной кодировке символов «..». В частности, в выпуске 2.4.50 была заблокирована возможность использования последовательности «%2e» для кодирования точки, но упущена возможность двойного кодирования — при указании последовательности «%%32%65» server декодировал её в «%2e», а затем в «.», т.е. символы «../» для перехода в предыдущий каталог можно было закодировать как «.%%32%65/».
Sa për shfrytëzimin e dobësisë përmes ekzekutimit të kodit, kjo është e mundur nëse është aktivizuar mod_cgi dhe përdoret një rrugë themelore që lejon ekzekutimin e skripteve CGI (për shembull, nëse është aktivizuar drejtpërdrejtiva ScriptAlias ose është vendosur flamuri ExecCGI në drejtpërdrejtivën Opciones). Një kërkesë e domosdoshme për realizimin e suksesshëm të sulmit është gjithashtu ofrimi i qasjes në katalogët me skeda ekzekutivë, siç janë /bin, ose qasja në rrënjën e FS „/”. Duke qenë se zakonisht një qasje e tillë nuk ofrohet, sulmi për ekzekutimin e kodit është i pakontrolluar për sistemet reale.
Megjithatë, sulmi për marrjen e përmbajtjes së skedarëve sistemikë të rastësishëm dhe teksteve burimore të skripteve web, të cilët janë të aksesueshëm për përdoruesin nën të cilin është nisur http-serveri, mbetet aktual. Për të realizuar një sulm të tillë, mjafton që në faqen e internetit të jetë një katalog i konfiguruar nëpërmjet drejtpërdithësve „Alias” ose „ScriptAlias” (DocumentRoot nuk është mjaftueshëm), siç është „cgi-bin”.
Një shembull eksploiti që lejon ekzekutimin e utilitarit „id” në serveri: curl ‘http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh’ —data ‘echo Content-Type: text/plain; echo; id’ uid=1(daemon) gid=1(daemon) groups=1(daemon)
Пример эксплоитов, позволяющего вывести содержимое /etc/passwd и одного из web-скриптов (для отдачи кода скриптов в качестве базового должен быть указан определённый через директиву «Alias» каталог, для которого не включено исполнение скриптов): curl ‘http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd’ curl ‘http://192.168.0.1/aliaseddir/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/usr/local/apache2/cgi-bin/test.cgi’
Problemi prek kryesisht distribucione të përditësuara vazhdimisht, si Fedora, Arch Linux dhe Gentoo, si dhe porte të FreeBSD. Paketat në degët e stabilizuara të distribucioneve konservatore të serverëve Debian, RHEL, Ubuntu dhe SUSE nuk janë të prekshme nga dobësitë. Problemi nuk shfaqet, nëse qasja në katalogë është qartë e ndaluar përmes përmirësimit „require all denied”.
Burimi: opennet.ru
