CVE-2026-71290 в Apache HTTP Server: обход проверки TLS

CVE: CVE-2026-71290
Продукт: Apache HTTP Server
Дата публикации: 12.08.2026
Критичность: CRITICAL
CVSS: 9.1 (3.1)
EPSS: 0,19%; процентиль 8,62%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В Apache HttpComponents Client версий 5.4–5.6.3 выявлена уязвимость (CVE-2026-71290), приводящая к некорректной проверке имени хоста в асинхронном режиме. Настройка HostnameVerificationPolicy#BUILTIN игнорируется, что позволяет злоумышленнику, перехватывающему трафик, имитировать сервер, используя валидный сертификат для другого домена. Классическая версия HttpClient не затрагивается.

Основные характеристики​


Уязвимость классифицируется как CWE-295 (Improper Certificate Validation). Оценка критичности составляет 9.1 по CVSS v3.1 (CRITICAL). Вектор атаки: сетевой, низкая сложность эксплуатации, отсутствие необходимых прав и взаимодействия пользователя. Влияние: высокий уровень компрометации конфиденциальности и целостности данных. Затронуты версии Apache HttpComponents Client от 5.4 до 5.6.3 включительно. Уязвимость специфична для асинхронной реализации HttpClient; синхронная версия не подвержена риску.

Какие продукты и версии затронуты​


Apache HttpComponents Client версий >= 5.4 и < 5.6.4. Важно различать компоненты: Apache HTTP Server (httpd) — это веб-сервер, который не содержит данной уязвимости. Риск возникает в Java-приложениях, использующих библиотеку HttpComponents Client для исходящих HTTPS-запросов, если в них задействован асинхронный HttpClient. Приложения, работающие за прокси или использующие httpd как обратный прокси, могут зависеть от этой библиотеки.

Причина уязвимости​


Причина заключается в реализации проверки имени хоста (hostname verification) в асинхронной версии HttpClient. Настройка HostnameVerificationPolicy#BUILTIN, предназначенная для строгой проверки соответствия имени хоста в сертификате, не применяется в асинхронном режиме. В результате клиент принимает сертификаты, выданные для других доменов, если они технически валидны (подписаны доверенным центром сертификации), но не соответствуют ожидаемому хосту.

Как работает атака​


Злоумышленник, способный перехватывать и модифицировать трафик между клиентом и сервером (например, в скомпрометированной сети), выполняет атаку типа Man-in-the-Middle. Атакующий представляет клиенту действительный TLS-сертификат, выданный для домена, отличного от целевого. Из-за ошибки в асинхронном HttpClient проверка имени хоста пропускается, и клиент устанавливает TLS-соединение с атакующим, считая его легитимным сервером.

Условия успешной эксплуатации​


Для эксплуатации необходимо: 1) Клиентское приложение использует Apache HttpComponents Client версии 5.4–5.6.3; 2) Приложение использует асинхронный HttpClient; 3) Атакующий имеет возможность перехвата трафика (MITM) между клиентом и сервером; 4) Атакующий располагает валидным TLS-сертификатом для любого домена.

Возможный сценарий атаки​


Java-приложение использует асинхронный HttpClient для отправки данных в облачный API с настройкой HostnameVerificationPolicy#BUILTIN. Пользователь подключается к сети, контролируемой злоумышленником. При попытке установить соединение с целевым хостом, атакующий перехватывает запрос и отвечает своим сертификатом для другого домена. Из-за уязвимости HttpClient не проверяет соответствие имени хоста. Соединение устанавливается, и атакующий получает доступ к передаваемым данным.

Есть ли публичный эксплойт​


Официальные источники не подтверждают наличие публичных эксплойтов или PoC-кодов, специфичных для CVE-2026-71290. Природа уязвимости (обход проверки сертификата) делает её потенциально простой для эксплуатации в условиях MITM, однако детализированные инструменты атаки в открытом доступе не зафиксированы.

Признаки эксплуатации​


Специфичные IOC для этой уязвимости отсутствуют, так как атака использует легитимные TLS-сертификаты. Общие признаки могут включать аномальное поведение приложений, использующих HttpClient, или ошибки авторизации. В логах прокси-серверов можно заметить соединения к неожиданным IP-адресам или сертификаты с несовпадающими именами хостов, если включено логирование TLS.

Как обнаружить атаку​


Для обнаружения уязвимости проверьте зависимости Java-приложений. Используйте инструменты анализа зависимостей (например, OWASP Dependency-Check, Snyk, или встроенные средства Maven/Gradle) для поиска org.apache.httpcomponents.client5:httpclient5 версий 5.4–5.6.3. Проверьте конфигурацию приложения: если используется AsyncHttpClient или CloseableHttpAsyncClient, риск присутствует.

Как проверить свою версию​


Для проверки версии Apache HTTP Server используйте команды: apache2 -v, httpd -v, или apachectl -V 2>/dev/null || apache2ctl -V 2>/dev/null. Однако CVE-2026-71290 не затрагивает сам httpd. Для проверки версии библиотеки HttpComponents Client проверьте файлы зависимостей Java-проекта (pom.xml, build.gradle) или используйте mvn dependency:tree | grep httpclient5.

Исправление​


Обновите Apache HttpComponents Client до версии 5.6.4 или выше. Эта версия содержит исправление, восстанавливающее корректную работу HostnameVerificationPolicy#BUILTIN в асинхронном режиме. Обновите зависимости в Java-проекте и пересоберите приложение. Для Apache HTTP Server рекомендуется обновление до последней стабильной версии для защиты от других уязвимостей, хотя они не связаны с CVE-2026-71290.

Временные меры защиты​


Если немедленное обновление невозможно: 1) Отключите использование асинхронного HttpClient, переключившись на классический (синхронный) HttpClient, который не подвержен этой уязвимости; 2) Реализуйте кастомную проверку имени хоста на уровне приложения; 3) Используйте сетевые экраны или прокси с функцией SSL Inspection для исходящего трафика. Эти меры не являются полным решением.

Как проверить устранение уязвимости​


После обновления проверьте версию библиотеки HttpComponents Client в приложении. Убедитесь, что версия 5.6.4 или выше указана в зависимостях. Проведите тестирование TLS-соединений: приложение должно отклонять соединение с сервером, предоставляющим сертификат для другого домена. Для Apache HTTP Server проверьте версию командой httpd -v.

Вывод​


CVE-2026-71290 представляет серьезную угрозу для приложений, использующих асинхронный Apache HttpComponents Client. Уязвимость не затрагивает Apache HTTP Server, но критична для Java-приложений в сетях с риском перехвата трафика. Обновление до версии 5.6.4 является обязательным. Временные меры, такие как переход на синхронный клиент, могут снизить риск, но не заменяют исправление.

Официальные источники​


  1. NVD — CVE-2026-71290
  2. FIRST EPSS — CVE-2026-71290
  3. https://lists.apache.org/thread/bhf7g2zwpom2ohvwjjjlonc93br2s8vq
  4. Apache HTTP Server 2.4 vulnerabilities - The Apache HTTP Server Project

История обновлений статьи​


  • 13.08.2026 — Опубликована первая версия материала.
  • 14.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
  • 22.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ