В Google внимательно изучили отчёт и решили оставить брешь открытой.
GrapheneOS закрыла дыру в Android, из-за которой защита VPN могла подвести в самый неприятный момент. Даже при включённом постоянном VPN и запрете подключений в обход туннеля обычное приложение могло передать наружу настоящий IP-адрес устройства. Google получила отчёт о проблеме, но решила не выпускать исправление.
Уязвимость обнаружил специалист по имени Юсуф, также известный как lowlevel. По его данным, проблема затрагивает Android 16 и связана с новой функцией сетевого стека, которая помогает приложениям корректно завершать QUIC-соединения при обрыве связи.
Слабое место оказалось в API, который разрешал приложениям с базовыми разрешениями INTERNET и ACCESS_NETWORK_STATE регистрировать произвольные UDP-данные в system_server. Когда UDP-сокет приложения закрывался, привилегированный системный процесс отправлял сохранённую нагрузку напрямую через физический сетевой интерфейс устройства, а не через VPN-туннель.
Из-за расширенных сетевых прав system_server пакет не попадал под ограничения VPN-маршрутизации. В результате срабатывал обход даже при активной функции блокировки подключений без VPN.
Не спрашивайте почему мы в MAX.
Юсуф проверил уязвимость на Pixel 8 с Android 16, включённым Proton VPN и режимом блокировки. Тестовое приложение смогло передать фактический публичный IP-адрес устройства на удалённый сервер, хотя пользовательская защита VPN оставалась включённой.
По данным автора отчёта, реализация Google принимала произвольные данные без проверки, являются ли они корректными кадрами QUIC CONNECTION_CLOSE, и не учитывала, должен ли трафик исходного приложения идти только через VPN. Команда безопасности Android классифицировала проблему как нецелесообразную для исправления и не относящуюся к бюллетеням безопасности. После апелляции позиция Google не изменилась, а публичное раскрытие разрешили 29 апреля.
GrapheneOS отреагировала иначе и в версии 2026050400 отключила оптимизацию registerQuicConnectionClosePayload, тем самым устранив вектор утечки на поддерживаемых устройствах Pixel. В тот же релиз вошли майские обновления безопасности Android за 2026 год, изменения в hardened_malloc, обновления ядра Linux для веток Android 6.1, 6.6 и 6.12, исправление CVE-2026-33636 в libpng, новые сборки Vanadium и усиленные ограничения на динамическую загрузку кода.
Для пользователей обычной Android-сборки Юсуф описал временный обход через ADB с отключением флага DeviceConfig close_quic_connection. Такой способ требует режима разработчика и может перестать работать, если Google уберёт флаг в будущих обновлениях.