Вразливість у 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

Додати коментар або відгук