Isa pang kahinaan sa Apache httpd na nagbibigay-daan sa pag-access sa labas ng root directory ng site

May nakitang bagong attack vector para sa Apache http server, na nanatiling hindi naitama sa update 2.4.50 at nagbibigay-daan sa pag-access sa mga file mula sa mga lugar sa labas ng root directory ng site. Bilang karagdagan, ang mga mananaliksik ay nakahanap ng isang paraan na nagbibigay-daan, sa pagkakaroon ng ilang mga hindi karaniwang mga setting, hindi lamang upang basahin ang mga file ng system, kundi pati na rin upang malayuang isagawa ang kanilang code sa server. Lumalabas lang ang problema sa mga release na 2.4.49 at 2.4.50; hindi apektado ang mga naunang bersyon. Upang alisin ang bagong kahinaan, mabilis na inilabas ang Apache httpd 2.4.51.

Sa kaibuturan nito, ang bagong problema (CVE-2021-42013) ay ganap na katulad ng orihinal na kahinaan (CVE-2021-41773) sa 2.4.49, ang pagkakaiba lang ay ibang pag-encode ng ".." na mga character. Sa partikular, sa release 2.4.50 ang kakayahang gamitin ang sequence na "%2e" upang mag-encode ng isang punto ay na-block, ngunit ang posibilidad ng double encoding ay napalampas - kapag tinukoy ang sequence na "%%32%65", na-decode ito ng server sa "%2e" at pagkatapos ay sa " .", i.e. ang "../" na mga character na pupunta sa nakaraang direktoryo ay maaaring ma-encode bilang ".%%32%65/".

Tulad ng para sa pagsasamantala sa kahinaan sa pamamagitan ng pagpapatupad ng code, posible ito kapag pinagana ang mod_cgi at ginamit ang base path kung saan pinapayagan ang pagpapatupad ng mga script ng CGI (halimbawa, kung pinagana ang direktiba ng ScriptAlias ​​o ang bandila ng ExecCGI ay tinukoy sa Direktiba ng mga pagpipilian). Ang isang ipinag-uutos na kinakailangan para sa isang matagumpay na pag-atake ay ang tahasang pagbibigay ng access sa mga direktoryo na may mga executable na file, tulad ng /bin, o access sa root system ng file na "/" sa mga setting ng Apache. Dahil ang ganitong pag-access ay karaniwang hindi ibinibigay, ang mga pag-atake sa pagpapatupad ng code ay may maliit na aplikasyon sa mga tunay na system.

Kasabay nito, ang pag-atake upang makuha ang mga nilalaman ng mga di-makatwirang mga file ng system at mga pinagmulang teksto ng mga script sa web, na nababasa ng user kung saan tumatakbo ang http server, ay nananatiling may kaugnayan. Upang maisagawa ang gayong pag-atake, sapat na magkaroon ng isang direktoryo sa site na na-configure gamit ang mga direktiba na "Alias" o "ScriptAlias" (DocumentRoot ay hindi sapat), tulad ng "cgi-bin".

Isang halimbawa ng pagsasamantala na nagbibigay-daan sa iyong isagawa ang "id" na utility sa server: 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) mga grupo=1(daemon)

Isang halimbawa ng mga pagsasamantala na nagbibigay-daan sa iyong ipakita ang mga nilalaman ng /etc/passwd at isa sa mga web script (upang i-output ang script code, ang direktoryo na tinukoy sa pamamagitan ng "Alias" na direktiba, kung saan ang script execution ay hindi pinagana, ay dapat na tukuyin bilang base na direktoryo): 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'

Ang problema ay pangunahing nakakaapekto sa patuloy na na-update na mga distribusyon tulad ng Fedora, Arch Linux at Gentoo, pati na rin ang mga port ng FreeBSD. Ang mga package sa mga matatag na sangay ng konserbatibong pamamahagi ng server na Debian, RHEL, Ubuntu at SUSE ay hindi apektado ng kahinaan. Ang problema ay hindi mangyayari kung ang pag-access sa mga direktoryo ay tahasang tinanggihan gamit ang setting na "require all denied".

Pinagmulan: opennet.ru

Magdagdag ng komento