Опубліковано реліз HTTP-сервера Apache 2.4.41
Опубліковано реліз HTTP-сервера Apache 2.4.41
Опубліковано реліз HTTP-сервера Apache 2.4.41, в якому представлено 23 зміни і усунено 6 уразливостей:
- CVE-2019-10081 - проблема в mod_http2, яка може призвести до пошкодження пам'яті при відправці push-запитів на дуже ранній стадії. При використанні налаштування "H2PushResource" можливий перезапис області пам'яті в пулі обробки запитів, але проблема обмежена крахом, оскільки дані, що записуються, не ґрунтуються на інформації, отриманій від клієнта;
- CVE-2019-9517 - схильність до нещодавно анонсованої DoS-уразливості в реалізаціях HTTP/2. Атакуючий може вичерпати доступну процесу пам'ять і створити велике навантаження на CPU, відкриваючи ковзне вікно HTTP/2 для відправки сервером даних без обмежень, але при цьому тримаючи вікно TCP закритим, що не дозволяє фактично записати дані в сокет;
- CVE-2019-10098 - проблема в mod_rewrite, що дозволяє використовувати сервер для прокидання звернень на інші ресурси (open redirect). Деякі параметри mod_rewrite можуть призвести до прокидання користувача на інше посилання, закодоване за допомогою символу перекладу рядка всередині параметра, який використовується в існуючому редиректі. Для блокування проблеми RegexDefaultOptions можна використовувати прапор PCRE_DOTALL, який тепер виставлений за замовчуванням;
- CVE-2019-10092 - можливість здійснення міжсайтового скриптингу на сторінках помилок, що виводяться mod_proxy. На цих сторінках у посиланні підставляється отриманий із запиту URL, в якому атакуючий через екранування символів може підставити довільний HTML-код;
- CVE-2019-10097 - переповнення стека і розіменування покажчика NULL в mod_remoteip, що експлуатується через маніпуляції із заголовком протоколу PROXY. Атака може бути здійснена тільки з боку проксі-сервера, що використовується в налаштуваннях, а не через запит клієнта;
- CVE-2019-10082 - вразливість в mod_http2, що дозволяє в момент завершення з'єднання ініціювати читання вмісту з вже звільненої області пам'яті (read-after-free).
Найбільш помітні зміни не пов'язані з безпекою:
- У mod_proxy_balancer посилено захист від атак XSS/XSRF з боку вузлів, що заслуговують на довіру;
- У mod_session додано налаштування SessionExpiryUpdateInterval для визначення інтервалу оновлення часу закінчення життя сеансу/cookie;
- Проведено чищення сторінок з помилками, спрямоване на виключення виведення на даних сторінках інформації із запитів;
- У mod_http2 забезпечено облік значення параметра "LimitRequestFieldSize", який раніше діяв лише для перевірки полів заголовків HTTP/1.1;
- Забезпечено створення конфігурації mod_proxy_hcheck під час його використання в BalancerMember;
- Скорочено споживання пам'яті в mod_dav під час використання команди PROPFIND над великою колекцією;
- У mod_proxy та mod_ssl вирішені проблеми із зазначенням налаштувань сертифікатів та SSL усередині блоку Proxy;
- У mod_proxy дозволено застосування налаштувань SSLProxyCheckPeer* для всіх модулів проксі;
- Розширені можливості модуля mod_md, розробленого проектом Let's Encrypt для автоматизації отримання та обслуговування сертифікатів з використанням протоколу ACME (Automatic Certificate Management Environment):
- Додано другу версію протоколу ACMEv2, яка тепер застосовується за умовчанням і використовує порожні запити POST замість GET.
- Додано підтримку перевірки на базі розширення TLS-ALPN-01 (RFC 7301, Application-Layer Protocol Negotiation), яке використовується в HTTP/2.
- Припинено підтримку методу перевірки 'tls-sni-01' (через уразливість).
- Додано команди для налаштування та розриву перевірки методом 'dns-01'.
- Додано підтримку масок в сертифікатах при включенні перевірки на основі DNS ('dns-01').
- Реалізовано обробник 'md-status' та сторінку зі станом сертифіката "https://domain/.httpd/certificate-status".
- Додано директиви "MDCertificateFile" та "MDCertificateKeyFile" для налаштування параметрів доменів через статичні файли (без підтримки автооновлення).
- Додано директиву "MDMessageCmd" для виклику зовнішніх команд при настанні подій 'renewed', 'expiring' або 'errored'.
- Додано директиву "MDWarnWindow" для налаштування повідомлення з попередженням про час дії сертифіката;