реліз HTTP-сервера Apache 2.4.41 (випуск 2.4.40 був пропущений), у якому представлено та усунено :
- — проблема в mod_http2, яка може призвести до пошкодження пам'яті при надсиланні push-запитів на дуже ранній стадії. При використанні налаштування «H2PushResource» можливий перезапис області пам'яті в пулі обробки запитів, але проблема обмежена крахом, оскільки дані, що записуються, не ґрунтуються на інформації, отриманої від клієнта;
- - Схильність нещодавно DoS-уразливості у реалізаціях HTTP/2.
Атакуючий може вичерпати доступну процесу пам'ять і створити велике навантаження на CPU, відкриваючи ковзне вікно HTTP/2 для відправки сервером даних без обмежень, але при цьому тримаючи вікно TCP закритим, що не дозволяє фактично записати дані в сокет; - - Проблема в mod_rewrite, що дозволяє використовувати сервер для прокидання звернень на інші ресурси (open redirect). Деякі параметри mod_rewrite можуть призвести до прокидання користувача на інше посилання, закодоване за допомогою символу перекладу рядка всередині параметра, який використовується в існуючому редиректі. Для блокування проблеми RegexDefaultOptions можна використовувати прапор PCRE_DOTALL, який тепер виставлений за замовчуванням;
- - Можливість здійснення міжсайтового скриптингу на сторінках помилок, що виводяться mod_proxy. На цих сторінках у посиланні підставляється отриманий із запиту URL, в якому атакуючий через екранування символів може підставити довільний HTML-код;
- - Переповнення стека та розіменування покажчика NULL в mod_remoteip, що експлуатується через маніпуляції із заголовком протоколу PROXY. Атака може бути здійснена тільки з боку проксі-сервера, що використовується в налаштуваннях, а не через запит клієнта;
- - вразливість в 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* для всіх проксі-модулів;
- Розширено можливості модуля , проектом Let's Encrypt для автоматизації отримання та обслуговування сертифікатів з використанням протоколу ACME (Automatic Certificate Management Environment):
- Додана друга версія протоколу , яка тепер застосовується за умовчанням та порожні запити 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 для налаштування повідомлення з попередженням про закінчення часу дії сертифіката;
Джерело: opennet.ru
