CVE: CVE-2026-100663
Продукт: Debian
Дата публикации: 26.09.2026
Критичность: HIGH
CVSS: 8.7 (4.0)
EPSS: нет данных; процентиль нет данных
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Debian Security Tracker подтвердил исправление CVE-2026-100663 для пакета netty во всех активных релизах дистрибутива. Уязвимость затрагивает преобразование HTTP/1 CONNECT в HTTP/3 внутри Netty и позволяет нарушить контроль authority при работе прокси или шлюза между протоколами. В Debian фиксация доступна в версиях 1:4.1.48-7+deb12u2 для bookworm, 1:4.1.48-10+deb13u1 для trixie и 1:4.1.48-16 для forky и sid.
Основные характеристики
Риск связан с некорректной обработкой authority-form request-target в HTTP/1 CONNECT при конвертации сообщения в HTTP/3. В результате :authority в HTTP/3 может определяться из заголовка Host, а не из request-target, что позволяет обходить проверки туннеля, egress-политики и выбора бэкенда.
- Тип ошибки: CWE-20 — insufficient input validation
- CVSS 4.0:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- Оценка: 8.7, HIGH
- Условие атаки: удалённый клиент может отправить CONNECT с несоответствующим Host и request-target в Netty-based HTTP/1-to-HTTP/3 proxy или gateway
- Факт эксплуатации: не подтверждён доступными источниками
Какие продукты и версии затронуты
В Debian уязвим пакет
netty в версиях, соответствующих Netty HTTP/3 codec от 4.2.2.Final до 4.2.17.Final.Debian Security Tracker фиксирует исправление для следующих релизов:
- bookworm:
1:4.1.48-7+deb12u2в репозиторияхbookwormиbookworm-security
- forky:
1:4.1.48-16в репозиторииforky
- sid:
1:4.1.48-16в репозиторииsid
- trixie:
1:4.1.48-10+deb13u1в репозиторияхtrixieиtrixie-security
Официальный трекер Debian для CVE-2026-100663: Debian Security Tracker.
Причина уязвимости
Уязвимость возникает в
HttpConversionUtil.toHttp3Headers внутри Netty HTTP/3 codec.При конвертации HTTP/1 сообщения в HTTP/3 authority-form request-target, например
CONNECT trusted.example:443, обрабатывается как URI. В этом случае хост из request-target выводится как :scheme, :path устанавливается в /, а :authority берётся из HTTP/1 заголовка Host.Если заголовок Host отсутствует, CONNECT target может быть полностью опущен. Если Host указывает на другой authority, чем request-target, формируется некорректный HTTP/3 CONNECT, где tunnel :authority контролируется отправителем.
Классификация в NVD: CWE-20 — insufficient input validation.
Как работает атака
Атака применима к Netty-based прокси или шлюзу, который принимает HTTP/1 CONNECT и конвертирует его в HTTP/3.
Удалённый клиент может отправить CONNECT request-target с одним authority и заголовок Host с другим authority. Например, request-target указывает на доверенный адрес, а Host содержит другой адрес.
Netty преобразует сообщение так, что :path становится
/, :scheme формируется из хоста request-target, а :authority берётся из Host. В HTTP/3 CONNECT это создаёт несовпадение между ожидаемым туннелем и фактически переданным authority.Если прокси или шлюз проверяет только HTTP/1 request-target до конвертации, но дальше использует HTTP/3 :authority для выбора бэкенда, egress-политики или аудита, проверка может быть обдана.
Возможные зоны влияния:
- tunnel allow-lists
- egress policy
- backend selection
- audit controls
- выбор целевого бэкенда по authority
Условия успешной эксплуатации
Для успешной эксплуатации необходимы следующие условия:
- в системе установлен пакет
nettyиз Debian с уязвимой версией Netty HTTP/3 codec, соответствующей диапазону 4.2.2.Final — 4.2.17.Final
- сервис использует Netty-based HTTP/1-to-HTTP/3 proxy или gateway
- удалённый клиент может отправлять CONNECT запросы в этот сервис
- сервис конвертирует HTTP/1 CONNECT в HTTP/3 через
HttpConversionUtil.toHttp3Headers
- контроль туннеля, egress-политики, выбора бэкенда или аудита зависит от HTTP/3 :authority после конвертации
- нет внешнего механизма, который независимо проверяет исходный HTTP/1 request-target и фактический authority перед переотправкой
Возможный сценарий атаки
Сценарий предполагает работу прокси между HTTP/1 клиентом и HTTP/3 бэкендом.
Клиент отправляет CONNECT с request-target
CONNECT trusted.example:443 и заголовком Host, указывающим на другой адрес. Сервис видит доверенный request-target в HTTP/1 части запроса.При конвертации в HTTP/3 Netty использует Host для :authority. В результате HTTP/3 CONNECT содержит :authority, контролируемый отправителем, и :path
/.Если прокси принимает этот HTTP/3 CONNECT как корректный туннель, он может открыть соединение к authority из заголовка Host, а не к authority из request-target.
Это позволяет обойти проверки, которые ожидают совпадения между request-target и authority, или которые используют :authority для выбора бэкенда.
Сценарий подтверждается описанием уязвимости в NVD и Debian Security Tracker. Конкретные последствия на конкретном сервисе зависят от реализации прокси и политик маршрутизации.
Есть ли публичный эксплойт
В переданных источниках нет отдельного подтверждения публичного эксплойта, PoC или подтверждённой эксплуатации CVE-2026-100663.
Наличие технической описания механизма не означает, что готовый рабочий payload опубликован. Отсутствие сведений в NVD и Debian Security Tracker не подтверждает отсутствие эксплойта.
Для проверки актуального статуса можно использовать официальные ссылки:
Признаки эксплуатации
Специфичных IOC для CVE-2026-100663 в переданных источниках не подтверждено.
Ниже приведены общие, неспецифичные точки контроля, которые можно использовать при проверке систем с Netty-based HTTP/1-to-HTTP/3 прокси:
- аномальные CONNECT запросы с несоответствием между request-target и заголовком Host
- HTTP/3 CONNECT с :path
/и нестандартным :authority
- подключение к доверенным бэкендам через authority, не совпадающий с ожидаемым туннелем
- изменения в egress-трафике после обновления или без обновления Netty
- журналы прокси с повторными CONNECT запросами к разным authority
- отсутствие заголовка Host в CONNECT, что приводит к опусканию target при конвертации
Как обнаружить атаку
Для обнаружения атаки нужно контролировать HTTP/1 и HTTP/3 части CONNECT на прокси.
Рекомендуемые проверки:
- сопоставление request-target и Host в входящих HTTP/1 CONNECT запросах
- контроль :authority, :scheme и :path в исходящих HTTP/3 CONNECT сообщениях
- фиксация несоответствий между authority из request-target и authority из заголовка Host
- анализ журналов Netty proxy на аномальные туннельные соединения
- проверка egress-трафика на подключение к несовпадающим доменам или портам
- мониторинг изменений в выборе бэкенда по :authority после конвертации HTTP/1 в HTTP/3
Если сервис использует только HTTP/1 CONNECT без конвертации в HTTP/3, уязвимость не проявляется.
Для проверки версии пакета
netty в Debian можно использовать:
Bash:
apt-cache policy netty
dpkg-query -W -f='${Package} ${Version}\n' netty
Если используется другой пакет с зависимостью от Netty HTTP/3 codec, замените
netty на фактическое имя пакета.Как проверить свою версию
В Debian уязвимый компонент связан с пакетом
netty. Для проверки версии используйте:
Bash:
apt-cache policy netty
dpkg-query -W -f='${Package} ${Version}\n' netty
Если в системе установлен другой пакет, зависящий от Netty HTTP/3 codec, замените имя пакета на фактическое.
Для сравнения с исправленными версиями Debian:
- bookworm:
1:4.1.48-7+deb12u2
- forky:
1:4.1.48-16
- sid:
1:4.1.48-16
- trixie:
1:4.1.48-10+deb13u1
Если версия ниже указанных, система находится в диапазоне, затронутым CVE-2026-100663.
Исправление
Основное исправление — обновление пакета
netty до версии из Debian Security Tracker.Команды обновления:
Bash:
apt update
apt upgrade netty
Если используется security-репозиторий, убедитесь, что он подключён:
Bash:
dpkg -l | grep netty
apt-cache policy netty
После обновления проверьте версию:
Bash:
dpkg-query -W -f='${Package} ${Version}\n' netty
Для разных релизов Debian целевые версии:
- bookworm:
1:4.1.48-7+deb12u2
- forky:
1:4.1.48-16
- sid:
1:4.1.48-16
- trixie:
1:4.1.48-10+deb13u1
Если сервис использует Netty из другого пакета, обновите этот пакет и все зависимости от Netty HTTP/3 codec.
Временные меры защиты
Пока обновление не применено, можно снизить риск через внешние проверки.
Варианты временных мер:
- добавить проверку совпадения request-target и Host в входящих CONNECT запросах до конвертации в HTTP/3
- блокировать CONNECT с несоответствующим authority на уровне прокси или WAF
- ограничивать egress по списку разрешённых authority, а не только по request-target
- фиксировать :authority из HTTP/3 CONNECT и сравнивать его с ожидаемым туннелем
- отключить конвертацию HTTP/1 CONNECT в HTTP/3, если это допустимо архитектурой сервиса
- ограничить доступ к прокси только для доверенных клиентов
Эти меры не заменяют обновление пакета
netty. Они снижают вероятность успешного обхода authority.Как проверить устранение уязвимости
После обновления проверьте:
Bash:
dpkg-query -W -f='${Package} ${Version}\n' netty
apt-cache policy netty
Убедитесь, что версия соответствует одной из исправленных версий Debian.
Если сервис использует Netty HTTP/3 codec напрямую через Java-зависимости, проверьте версию
io.netty:netty-codec-http3 в зависимостях приложения. В Debian пакет netty должен содержать исправленную версию.Для проверки работоспособности прокси после обновления:
- отправьте CONNECT с request-target и Host, совпадающими по authority
- отправьте CONNECT с несоответствующими authority и убедитесь, что политика обработки соответствует ожиданиям
- проверьте журналы на корректную запись :authority в HTTP/3 CONNECT
- подтвердите, что egress-политика использует ожидаемый authority после конвертации
Вывод
CVE-2026-100663 требует обновления пакета
netty в Debian. Уязвимость связана с некорректной обработкой authority-form CONNECT при конвертации HTTP/1 в HTTP/3 и может приводить к обходу контроля туннеля, egress-политики и выбора бэкенда.Debian Security Tracker подтвердил исправление для bookworm, forky, sid и trixie. Если сервис использует Netty-based HTTP/1-to-HTTP/3 proxy или gateway, обновление нельзя откладывать. До применения патча рекомендуется добавить внешние проверки authority и ограничить доступ к прокси.
Официальные источники
История обновлений статьи
- 29.09.2026 — Опубликована первая версия материала.
