Реліз http-сервера Apache 2.4.52 з усуненням переповнення буфера в mod_lua

Опубліковано реліз HTTP-сервера Apache 2.4.52, в якому представлено 25 змін та усунено 2 вразливості:

  • CVE-2021-44790 - переповнення буфера в mod_lua, що виявляється при розборі запитів, що складаються з кількох частин (multipart). Вразливість зачіпає конфігурації, в яких Lua-скрипти викликають функцію r:parsebody() для розбору тіла запиту, і дозволяють атакуючому домогтися переповнення буфера через відправлення спеціально оформленого запиту. Фактів наявності експлоїту поки не виявлено, але потенційно проблема може призвести до виконання коду на сервері.
  • CVE-2021-44224 - SSRF-уразливість (Server Side Request Forgery) в mod_proxy, що дозволяє в конфігураціях з налаштуванням «ProxyRequests on» через запит спеціально оформленого URI домогтися перенаправлення запиту на дрогой обробник на тому ж сервері, що приймає з'єднання. Проблема також може бути використана для виклику краху через створення умов розіменування нульового покажчика. Проблема стосується версії Apache httpd починаючи з версії 2.4.7.

Найбільш помітні зміни, не пов'язані з безпекою:

  • До mod_ssl додано підтримку збірки з бібліотекою OpenSSL 3.
  • Покращено визначення бібліотеки OpenSSL у скриптах autoconf.
  • У mod_proxy для протоколів тунелювання надано можливість відключення перенаправлення напіввідкритих (half-close) TCP-з'єднань через виставлення параметра SetEnv proxy-nohalfclose.
  • Додано додаткові перевірки, що URI не призначені для проксіювання містять схему http/https, а призначені для проксіювання містять ім'я хоста.
  • У mod_proxy_connect і mod_proxy заборонено зміну коду стану після надсилання його клієнту.
  • При надсиланні проміжних відповідей після отримання запитів із заголовком "Expect: 100-Continue" забезпечено вказівку в результаті стан "100 Continue", а не поточного стану запиту.
  • У mod_dav додано підтримку розширень CalDAV, в яких при генерації властивості повинні враховуватися як елементи документа, так і елементи властивості. Додано нові функції dav_validate_root_ns(), dav_find_child_ns(), dav_find_next_ns(), dav_find_attr_ns() та dav_find_attr(), які можна викликати з інших модулів.
  • У mpm_event вирішена проблема із зупинкою дочірніх процесів, що простоюють, після сплеску навантаження на сервер.
  • У mod_http2 усунуто регресивні зміни, що призводять до некоректної поведінки при обробці обмежень MaxRequestsPerChild та MaxConnectionsPerChild.
  • Розширено можливості модуля mod_md, який застосовується для автоматизації отримання та обслуговування сертифікатів з використанням протоколу ACME (Automatic Certificate Management Environment):
    • Додано підтримку механізму ACME External Account Binding (EAB), що включається за допомогою директиви MDExternalAccountBinding. Значення для EAB можуть бути налаштовані із зовнішнього файлу у форматі JSON, що дозволяє не розкривати параметри автентифікації в основному конфігураційному файлі сервера.
    • У директиві 'MDCertificateAuthority' забезпечено перевірку вказівки в параметрах URL http/https або одного з визначених імен ('LetsEncrypt', 'LetsEncrypt-Test', 'Buypass' та 'Buypass-Test').
    • Дозволено вказівку директиви MDContactEmail усередині секції .
    • Виправлено кілька помилок, у тому числі усунено витік пам'яті, що виникає у разі збоїв під час завантаження закритого ключа.

Джерело: opennet.ru

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