S'ha trobat un nou vector d'atac per al servidor http Apache, que no s'ha corregit a l'actualització 2.4.50 i permet l'accés a fitxers des d'àrees fora del directori arrel del lloc. A més, els investigadors han trobat un mètode que permet, en presència de determinades configuracions no estàndard, no només llegir fitxers del sistema, sinó també executar el seu codi de manera remota al servidor. El problema només apareix a les versions 2.4.49 i 2.4.50; les versions anteriors no es veuen afectades. Per eliminar la nova vulnerabilitat, Apache httpd 2.4.51 es va llançar ràpidament.
El nou problema (CVE-2021-42013) és essencialment idèntic a la vulnerabilitat original (CVE-2021-41773) de la versió 2.4.49, amb l'única diferència en la codificació diferent dels caràcters ".." Concretament, la versió 2.4.50 bloquejava la possibilitat d'utilitzar la seqüència "%2e" per codificar un punt, però no permetia codificar-lo dues vegades en especificar la seqüència "%%32%65". servidor l'ha descodificat com a "%2e" i després com a ".", és a dir, els caràcters "../" per anar al directori anterior es podrien codificar com a ".%%32%65/".
Pel que fa a l'explotació de la vulnerabilitat mitjançant l'execució de codi, això és possible quan el mod_cgi està habilitat i s'utilitza la ruta base en la qual es permet l'execució d'scripts CGI (per exemple, si la directiva ScriptAlias està habilitada o s'especifica el senyalador ExecCGI a la Directiva d'opcions). Un requisit obligatori per a un atac reeixit també és proporcionar de manera explícita accés als directoris amb fitxers executables, com ara /bin, o accés a l'arrel del sistema de fitxers "/" a la configuració d'Apache. Com que aquest accés no es concedeix normalment, els atacs d'execució de codi tenen poca aplicació als sistemes reals.
Al mateix temps, l'atac per obtenir el contingut dels fitxers arbitraris del sistema i els textos font dels scripts web, llegibles per l'usuari sota el qual s'executa el servidor http, segueix sent rellevant. Per dur a terme aquest atac, n'hi ha prou amb tenir un directori al lloc configurat mitjançant les directives "Alias" o "ScriptAlias" (DocumentRoot no és suficient), com ara "cgi-bin".
Un exemple d'exploit que permet executar la utilitat "id" a servidor: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' —data 'echo Tipus de contingut: text/plain; echo; id' uid=1(daemon) gid=1(daemon) groups=1(daemon)
Un exemple d'explotacions que permet mostrar el contingut de /etc/passwd i un dels scripts web (per a la sortida del codi de l'script, s'ha d'especificar el directori definit a través de la directiva "Alias", per al qual l'execució de script no està habilitada). com a directori base): curl 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' curl 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/apacheXNUMX/cgi -bin/test.cgi'
El problema afecta principalment distribucions actualitzades contínuament com ara Fedora, Arch Linux i Gentoo, així com ports a FreeBSD. Paquets a les branques estables de distribucions de servidor conservadores Debian, RHEL, Ubuntu i SUSE no són vulnerables. El problema no es produeix si l'accés als directoris es denega explícitament mitjançant la configuració "requer all denied".
Font: opennet.ru
