Реліз http-сервера Apache 2.4.41 з усуненням уразливостей

Опубліковано реліз HTTP-сервера Apache 2.4.41 (випуск 2.4.40 був пропущений), у якому представлено 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 для налаштування повідомлення з попередженням про закінчення часу дії сертифіката;

Джерело: opennet.ru

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