En anden sårbarhed i Apache httpd, der tillader adgang uden for webstedets rodmappe

En ny angrebsvektor er blevet fundet for Apache http-serveren, som forblev ukorrigeret i opdatering 2.4.50 og giver adgang til filer fra områder uden for webstedets rodmappe. Derudover har forskere fundet en metode, der tillader, i nærværelse af visse ikke-standardindstillinger, ikke kun at læse systemfiler, men også at fjernafvikle deres kode på serveren. Problemet vises kun i udgivelser 2.4.49 og 2.4.50; tidligere versioner er ikke berørt. For at eliminere den nye sårbarhed blev Apache httpd 2.4.51 hurtigt frigivet.

I sin kerne er det nye problem (CVE-2021-42013) fuldstændig lig den oprindelige sårbarhed (CVE-2021-41773) i 2.4.49, den eneste forskel er en anden kodning af ".."-tegnene. Især i version 2.4.50 blev muligheden for at bruge sekvensen "%2e" til at kode et punkt blokeret, men muligheden for dobbeltkodning blev overset - når sekvensen "%%32%65" blev specificeret, afkodede serveren den ind i "%2e" og derefter ind i " .", dvs. "../"-tegnene for at gå til den forrige mappe kunne kodes som ".%%32%65/".

Hvad angår udnyttelse af sårbarheden gennem kodekørsel, er dette muligt, når mod_cgi er aktiveret, og basisstien bruges, hvor udførelse af CGI-scripts er tilladt (f.eks. hvis ScriptAlias-direktivet er aktiveret eller ExecCGI-flaget er angivet i Optionsdirektivet). Et obligatorisk krav for et vellykket angreb er også eksplicit at give adgang til mapper med eksekverbare filer, såsom /bin, eller adgang til filsystemets rod "/" i Apache-indstillingerne. Da en sådan adgang typisk ikke gives, har kodeudførelsesangreb kun lidt anvendelse på rigtige systemer.

Samtidig forbliver angrebet for at opnå indholdet af vilkårlige systemfiler og kildetekster til webscripts, der kan læses af den bruger, som http-serveren kører under, relevant. For at udføre et sådant angreb er det nok at have en mappe på webstedet konfigureret ved hjælp af "Alias" eller "ScriptAlias" direktiverne (DocumentRoot er ikke nok), såsom "cgi-bin".

Et eksempel på en udnyttelse, der giver dig mulighed for at udføre "id"-værktøjet på serveren: 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; ekko; id' uid=1(dæmon) gid=1(dæmon) grupper=1(dæmon)

Et eksempel på udnyttelser, der giver dig mulighed for at vise indholdet af /etc/passwd og et af webscripterne (for at udlæse scriptkoden skal den mappe, der er defineret gennem "Alias"-direktivet, for hvilken scriptudførelse ikke er aktiveret, angives som basismappen): 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'

Problemet påvirker hovedsageligt løbende opdaterede distributioner såsom Fedora, Arch Linux og Gentoo, såvel som porte af FreeBSD. Pakker i de stabile grene af de konservative serverdistributioner Debian, RHEL, Ubuntu og SUSE påvirkes ikke af sårbarheden. Problemet opstår ikke, hvis adgang til mapper udtrykkeligt nægtes ved at bruge indstillingen "kræver alle nægtet".

Kilde: opennet.ru

Tilføj en kommentar