Մեկ այլ խոցելիություն Apache httpd-ում, որը թույլ է տալիս մուտք գործել կայքի արմատական ​​գրացուցակից դուրս

Հայտնաբերվել է նոր հարձակման վեկտոր Apache http սերվերի համար, որը մնացել է չուղղված 2.4.50 թարմացման մեջ և թույլ է տալիս մուտք գործել ֆայլեր կայքի արմատական ​​գրացուցակից դուրս գտնվող տարածքներից։ Բացի այդ, հետազոտողները գտել են մի մեթոդ, որը թույլ է տալիս որոշակի ոչ ստանդարտ պարամետրերի առկայության դեպքում ոչ միայն կարդալ համակարգի ֆայլերը, այլև հեռակա կարգով կատարել դրանց կոդը սերվերի վրա: Խնդիրը հայտնվում է միայն 2.4.49 և 2.4.50 թողարկումներում, ավելի վաղ տարբերակները չեն ազդում: Նոր խոցելիությունը վերացնելու համար արագ թողարկվեց Apache httpd 2.4.51-ը:

Իր հիմքում նոր խնդիրը (CVE-2021-42013) ամբողջովին նման է բնօրինակ խոցելիությանը (CVE-2021-41773) 2.4.49-ում, միակ տարբերությունը «..» նիշերի այլ կոդավորումն է: Մասնավորապես, 2.4.50 թողարկումում «%2e» հաջորդականությունն օգտագործելու հնարավորությունը կետ կոդավորելու համար արգելափակվել է, սակայն կրկնակի կոդավորման հնարավորությունը բաց է թողնվել. «%%32%65» հաջորդականությունը նշելիս սերվերը վերծանել է այն։ մեջ «%2e» և ապա «.», այսինքն. նախորդ գրացուցակ գնալու «../» նիշերը կարող են կոդավորվել որպես «.%%32%65/»:

Ինչ վերաբերում է կոդի կատարման միջոցով խոցելիության օգտագործմանը, ապա դա հնարավոր է, երբ mod_cgi-ն միացված է և օգտագործվում է բազային ճանապարհը, որտեղ թույլատրվում է CGI սկրիպտների կատարումը (օրինակ, եթե ScriptAlias ​​դիրեկտիվը միացված է կամ ExecCGI դրոշը նշված է Ընտրանքների հրահանգ): Հաջող հարձակման պարտադիր պահանջն է նաև բացահայտորեն մուտք գործել դեպի գործարկվող ֆայլերով դիրեկտորիաներ, ինչպիսիք են /bin-ը, կամ մուտք դեպի ֆայլային համակարգի արմատ «/» Apache-ի կարգավորումներում: Քանի որ նման մուտքը սովորաբար չի տրվում, կոդերի կատարման հարձակումները քիչ են կիրառվում իրական համակարգերում:

Միևնույն ժամանակ, կամայական համակարգի ֆայլերի և վեբ սկրիպտների սկզբնական տեքստերի բովանդակությունը ստանալու գրոհը, որը ընթեռնելի է օգտագործողի կողմից, որի տակ աշխատում է http սերվերը, մնում է ակտուալ: Նման հարձակում իրականացնելու համար բավական է կայքում ունենալ գրացուցակ, որը կազմաձևված է «Alias» կամ «ScriptAlias» հրահանգներով (DocumentRoot-ը բավարար չէ), օրինակ՝ «cgi-bin»:

Exploit-ի օրինակ, որը թույլ է տալիս կատարել «id» կոմունալ ծրագիրը սերվերում. curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —տվյալներ «echo Content-Type. text/plain; արձագանք; id' uid=1(daemon) gid=1(daemon) խմբեր=1(daemon)

Exploits-ի օրինակ, որը թույլ է տալիս ցուցադրել /etc/passwd-ի բովանդակությունը և վեբ սկրիպտներից մեկը (սկրիպտի կոդը դուրս բերելու համար պետք է նշվի «Alias» հրահանգով սահմանված գրացուցակը, որի համար սցենարի կատարումը միացված չէ։ որպես հիմնական գրացուցակ): 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'

Խնդիրը հիմնականում ազդում է անընդհատ թարմացվող բաշխումների վրա, ինչպիսիք են Fedora-ն, Arch Linux-ը և Gentoo-ն, ինչպես նաև FreeBSD-ի նավահանգիստները: Debian-ի, RHEL-ի, Ubuntu-ի և SUSE-ի պահպանողական սերվերների բաշխումների կայուն ճյուղերի փաթեթները խոցելիությունից չեն ազդում: Խնդիրը չի առաջանում, եթե մուտքը գրացուցակներ բացահայտորեն մերժված է, օգտագործելով «պահանջում է բոլորը մերժված» պարամետրը:

Source: opennet.ru

Добавить комментарий