Një vektor i ri sulmi është gjetur në serverin http Apache, i cili mbetet i papërmirësuar në versionin 2.4.50 dhe lejon aksesin në skedarë nga zona jashtë direktorisë kryesore të faqes. Për më tepër, studiuesit kanë gjetur një mënyrë, që në prani të disa konfigurimeve jo standarde, lejon jo vetëm leximin e skedarëve sistemorë, por gjithashtu ekzekutimin në distancë të kodit tuaj në server. Problemi ndodh vetëm në versionet 2.4.49 dhe 2.4.50, ndërsa versionet më të hershme nuk janë vulnerabël. Për të adresuar këtë variant të ri vulnerabiliteti, është publikuar shpejt 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 vulnerabilitetit përmes ekzekutimit të kodit, kjo është e mundur vetëm nëse aktivizohet mod_cgi dhe përdoret një rrugë bazë, ku lejohet ekzekutimi i skripteve CGI (p.sh., nëse është aktivizuar direktiva ScriptAlias ose është caktuar flamuri ExecCGI në direktivën Options). Një kërkesë e domosdoshme për një sulm të suksesshëm është gjithashtu dhënia e aksesit në direktivat me skedarë ekzekutivë, siç janë /bin, ose aksesin në rrënjën e FS «/». Duke qenë se zakonisht një akses i tillë nuk lejohet, sulmi për ekzekutimin e kodit është pak i aplikueshëm në sisteme reale.
Megjithatë, sulmi për marrjen e përmbajtjes së skedarëve sistemorë të rastit dhe kodit burimor të skripteve web, të disponueshme për lexim nga përdoruesi nën të cilin drejtohet http-serveri, mbetet ende aktual. Për të kryer një sulm të tillë, mjafton të ketë në sit një direktori, e cila është konfiguruar nëpërmjet direktivave «Alias» ose «ScriptAlias» (DocumentRoot nuk është e mjaftueshme), siç është «cgi-bin».
Shembulli i një eksploiti, që lejon ekzekutimin e utilitetit «id» në сервере: 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 që përditësohen vazhdimisht, si Fedora, Arch Linux dhe Gentoo, si dhe portet e FreeBSD. Paketat në degët stabile të distribucioneve të serverëve konservatorë si Debian, RHEL, Ubuntu dhe SUSE nuk janë të ndjeshme ndaj këtyre sulmeve. Problemi nuk shfaqet nëse aksesimi në katalogët është ndaluar shprehimisht përmes konfigurimit 'require all denied'.
Burimi: opennet.ru
