Уразлівасць у http-серверы Apache 2.4.49, якая дазваляе атрымаць файлы па-за коранем сайта

У экстраным парадку сфарміравана абнаўленне http-сервера Apache 2.4.50, у якім ухіленая ўжо актыўна эксплуатаваная 0-day уразлівасць (CVE-2021-41773), якая дазваляе атрымаць доступ да файлаў з абласцей па-за каранёвым каталогам сайта. Пры дапамозе ўразлівасці можна загрузіць адвольныя сістэмныя файлы і зыходныя тэксты web-скрыптоў, даступныя для чытання карыстачу, пад якім запушчаны http-сервер. Распрацоўнікі былі апавешчаныя аб праблеме яшчэ 17 верасня, але змаглі выпусціць абнаўленне толькі сёння, пасля таго як у сетцы былі зафіксаваныя выпадкі ўжывання ўразлівасці для нападу на сайты.

Небяспека ўразлівасці згладжвае тое, што праблема выяўляецца толькі ў нядаўна выпушчанай версіі 2.4.49 і не закранае ўсё больш раннія выпускі. У стабільных галінках кансерватыўных серверных дыстрыбутываў выпуск 2.4.49 яшчэ не выкарыстоўваўся (Debian, RHEL, Ubuntu, SUSE), але праблема закранула бесперапынна абнаўляюцца дыстрыбутывы, такія як Fedora, Arch Linux і Gentoo, а таксама парты FreeBSD.

Уразлівасць выклікана памылкай, унесенай падчас перапрацоўкі кода для нармалізацыі шляхоў у URI, з-за якой закадаваны пры дапамозе паслядоўнасці «%2e» знак кропкі ў шляху не нармалізаваўся, калі яму папярэднічала іншая кропка. Такім чынам, аказалася магчымай падстаноўка неабчышчаных сімвалаў "../" у выніковы шлях праз указанне ў запыце паслядоўнасці ".%2e/". Напрыклад, запыт віду "https://example.com/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd" або "https://example.com/cgi-bin /.%2e/%2e%2e/%2e%2e/%2e%2e/etc/hosts» дазваляў атрымаць змесціва файла «/etc/passwd».

Праблема не праяўляецца, калі доступ да каталогаў відавочна забаронены пры дапамозе налады "require all denied". Напрыклад для частковай абароны можна пазначыць у файле канфігурацыі: require all denied

У версіі Apache httpd 2.4.50 таксама ўхіленая яшчэ адна ўразлівасць (CVE-2021-41524), якая закранае модуль з рэалізацыяй пратаколу HTTP/2. Уразлівасць дазваляла праз адпраўку спецыяльна аформленага запыту ініцыяваць разнайменне нулявога паказальніка і выклікаць крах працэсу. Дадзеная ўяўнасць таксама выяўляецца толькі ў версіі 2.4.49. У якасці абыходнага шляху абароны можна адключыць падтрымку пратаколу HTTP/2.

Крыніца: opennet.ru

Дадаць каментар