Skip to content

Отказ ECH и регрессия протоколов (H3 → H2) на Samsung G986U1 при активной фильтрации HTTPS #2065

@Home-User1

Description

@Home-User1

Please answer the following questions for yourself before submitting an issue

  • Filters were updated before reproducing an issue
  • I checked the knowledge base and found no answer
  • I checked to make sure that this issue has not already been filed

AdGuard version

4.25.20

Browser version

Chrome 146.0.7680.164 (Stable)

OS version

Android 13

Issue Details

Шаги для воспроизведения
Включить в расширенных настройках AdGuard: Фильтровать HTTP/3 и Encrypted Client Hello.

Использовать DNS-сервер с поддержкой h3 (например, h3://anexia-sof-1.edge.nextdns.io).

Перейти в Chrome на страницу диагностики: https://www.cloudflare.com/cdn-cgi/trace.

Результат: в логе видим sni=plaintext и http=http/2.

Выключить AdGuard и обновить страницу — Результат: sni=encrypted и http=http/3

Expected Behavior

Ожидаемый результат
Движок CoreLibs должен корректно обрабатывать расширение TLS ClientHello (ECH), не допуская расшифровки SNI в открытый вид (plaintext) и не препятствуя установке соединения по протоколу HTTP/3 (QUIC).

Логи
Полный отладочный лог (Debug log) отправлен через форму поддержки в приложении.

ID Тикета (1340984).

Actual Behavior

Утечка SNI (SNI Leak): В логах диагностики cloudflare.com/cdn-cgi/trace параметр sni принимает значение plaintext, хотя в настройках приложения включен Encrypted Client Hello (ECH). При отключении AdGuard статус меняется на encrypted. Это означает, что движок фильтрации расшифровывает заголовок ECH и отправляет его дальше в открытом виде.

Регрессия протокола (Protocol Fallback): Соединение с серверами Cloudflare и NextDNS принудительно откатывается с HTTP/3 (QUIC) до HTTP/2.
Деградация DNS: Несмотря на настройку DNS-сервера через протокол h3 (DNS-over-HTTP/3), фактически запросы проходят по протоколу DoH2.

Технические детали из логов:

С AdGuard: http=http/2, sni=plaintext, tls=TLSv1.3

Без AdGuard: http=http/3, sni=encrypted, tls=TLSv1.3

Screenshots

https://quickshare.samsungcloud.com/qKA6XxWKuRgp

Видео-отчёт об ошибке: ссылка на облако Samsung Cloud/ Link Sharing.
Внимание: срок хранения файлов 2 дня

Additional Information

Специфика устройства: Проблема воспроизводится на Samsung Galaxy S20+ (SM-G986U1) с американской прошивкой. Сетевой стек этого устройства может иметь особенности в реализации QUIC/HTTP3, которые CoreLibs обрабатывает некорректно.

Настройки браузера: В Chrome принудительно включен флаг #encrypted-client-hello. Без AdGuard браузер успешно устанавливает ECH-соединение, что подтверждается логом sni=encrypted.

Конфигурация DNS: Использование кастомного адреса NextDNS с префиксом h3:// (DNS-over-HTTP/3) также подвержено регрессии. При включенном AdGuard запросы уходят по DoH2, что говорит о проблемах не только в CoreLibs, но и в DnsLibs.

Связь с разработчиками: Данный репорт составлен по прямой просьбе Андрея Мешкова (CTO AdGuard) после предварительного обсуждения проблемы.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions