En annen sårbarhet i Apache httpd som tillater tilgang utenfor nettstedets rotkatalog

En ny angrepsvektor er funnet for Apache http-serveren, som forble ukorrigert i oppdatering 2.4.50 og gir tilgang til filer fra områder utenfor nettstedets rotkatalog. I tillegg har forskere funnet en metode som gjør det mulig, i nærvær av visse ikke-standardinnstillinger, ikke bare å lese systemfiler, men også å eksternt kjøre koden deres på serveren. Problemet vises bare i utgavene 2.4.49 og 2.4.50; tidligere versjoner er ikke berørt. For å eliminere den nye sårbarheten ble Apache httpd 2.4.51 raskt utgitt.

I kjernen er det nye problemet (CVE-2021-42013) fullstendig lik den opprinnelige sårbarheten (CVE-2021-41773) i 2.4.49, den eneste forskjellen er en annen koding av ".."-tegnene. Spesielt i versjon 2.4.50 ble muligheten til å bruke sekvensen "%2e" for å kode et punkt blokkert, men muligheten for dobbel koding ble savnet - når sekvensen "%%32%65" spesifiserte, dekodet serveren den inn i «%2e» og deretter inn i « .», dvs. "../"-tegnene for å gå til forrige katalog kan kodes som ".%%32%65/".

Når det gjelder å utnytte sårbarheten gjennom kodekjøring, er dette mulig når mod_cgi er aktivert og basisbanen brukes der kjøring av CGI-skript er tillatt (for eksempel hvis ScriptAlias-direktivet er aktivert eller ExecCGI-flagget er spesifisert i opsjonsdirektivet). Et obligatorisk krav for et vellykket angrep er også å gi eksplisitt tilgang til kataloger med kjørbare filer, for eksempel /bin, eller tilgang til filsystemets rot "/" i Apache-innstillingene. Siden slik tilgang vanligvis ikke gis, har kodeutførelsesangrep lite anvendelse på ekte systemer.

Samtidig forblir angrepet for å skaffe innholdet i vilkårlige systemfiler og kildetekster til webskript, lesbare av brukeren som http-serveren kjører under, relevant. For å utføre et slikt angrep er det nok å ha en katalog på nettstedet konfigurert ved å bruke "Alias" eller "ScriptAlias" -direktivene (DocumentRoot er ikke nok), for eksempel "cgi-bin".

Et eksempel på en utnyttelse som lar deg kjøre «id»-verktøyet 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(demon) gid=1(demon) grupper=1(demon)

Et eksempel på utnyttelser som lar deg vise innholdet i /etc/passwd og ett av webskriptene (for å sende ut skriptkoden, må katalogen definert gjennom "Alias"-direktivet, som skriptutførelse ikke er aktivert for, spesifiseres som basiskatalog): 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 hovedsakelig kontinuerlig oppdaterte distribusjoner som Fedora, Arch Linux og Gentoo, samt porter av FreeBSD. Pakker i de stabile grenene til de konservative serverdistribusjonene Debian, RHEL, Ubuntu og SUSE påvirkes ikke av sårbarheten. Problemet oppstår ikke hvis tilgang til kataloger er eksplisitt nektet ved å bruke innstillingen "require all denied".

Kilde: opennet.ru

Legg til en kommentar