Envoy Proxy 1.39.1 закрив 13 уразливостей у HTTP, QUIC, RBAC і ext_authz
Терміновий patch виправляє UAF, аварійні завершення, обхід авторизації через path parameters, connection poisoning і втрату streamed body frames.

Envoy Proxy 1.39.1 закриває одразу тринадцять уразливостей у HTTP/2, HTTP/3, QUIC, RBAC, ext_authz, нормалізації URL та адміністративній статистиці. Оновлення також виправляє втрату фрагментів великих streamed bodies, кілька помилок життєвого циклу в ext_proc і витік пам’яті TLS-сертифікатів. Для ingress, service mesh та API gateway це не плановий косметичний patch: командам варто оновлюватися пріоритетно й окремо перевірити поведінку URL, CONNECT та HTTP upgrade.

Нормалізація URL і правила RBAC
Два виправлення стосуються path parameters — частин сегмента після крапки з комою. Envoy тепер прибирає такі параметри з кожного сегмента відповідно до RFC 3986, а також правильно обробляє їх у сегментах . та ... Без однакової канонізації proxy, router і authorization filter могли по-різному тлумачити той самий шлях.
Окреме виправлення змушує RBAC path matching поважати налаштування маршруту ignore_path_parameters_in_path_matching. Це закриває сценарій обходу авторизації через доданий параметр шляху. Після оновлення варто прогнати негативні тести для URL із ;, закодованими крапками, подвійною канонізацією та різними формами ...
HTTP/2, HTTP/3 і QUIC
У HTTP/3 виправлено use-after-free, який виникав за спеціально підібраної послідовності кадрів, а також аварійне завершення під час вибору upstream-протоколу через ALPN. QUIC більше не повинен падати під час обробки scoped IPv6 addresses у клієнтських з’єднаннях та Original Destination clusters.
Для HTTP/2 виправлено завершення процесу, коли trailers надходили без прапорця END_STREAM. Відкинутий заголовок Host тепер усе одно враховується у лімітах кількості й розміру request headers. Це важливо проти запитів, які намагалися спожити більше пам’яті, ніж показував формальний лічильник заголовків.
ext_authz, upgrade та адміністративний HTML
Фільтр ext_authz більше не має аварійно завершувати процес на CONNECT-запитах без URI path; також закрито use-after-free під час відхилення запиту зовнішнім authorization service через HTTP. Якщо CONNECT використовується для тунелів, WebSocket-подібних протоколів або egress proxy, ці сценарії потрібно перевірити окремо.
Envoy змінив роботу generic HTTP upgrade: payload, надісланий до підтвердження upgrade, більше не повинен інтерпретуватися як наступний HTTP/1 request у спільному upstream-з’єднанні. Попередня поведінка могла спричинити connection poisoning. У статичних назвах статистики адміністративна сторінка тепер екранує дані перед перетворенням на HTML, прибираючи шлях до ін’єкції розмітки.
Оновлення не замінює тестування: частину нової поведінки контролюють reloadable feature flags. Тимчасовий rollback конкретного прапорця може допомогти діагностиці, але не повинен ставати постійним способом залишити відому вразливість відкритою.
Непомітне пошкодження streamed bodies
Поза CVE виправлено помилку filter manager: якщо фільтр додавав body frame через addDecodedData() або addEncodedData(), а потім одразу повертав Continue, кадр міг тихо зникнути. Наслідком було пошкодження великих потокових тіл без обов’язкової явної помилки. Після оновлення корисно повторити тести upload, gRPC streaming, проксіювання великих payload і власних HTTP filters.
ext_proc отримав кілька виправлень lifetime, які прибирають use-after-free та подвійну доставку callback. У TLS-шарі закрито витік refcount об’єкта X509 під час виклику SSL_get0_peer_certificates(); сертифікати тепер можуть звільнятися після закриття з’єднання. Також OpenSSL більше не повинен обходити tcmalloc і приховувати свої allocation від heap profiling.
Практичний порядок розгортання
- Оновити зовнішні ingress/gateway першими, потім внутрішні sidecar і egress proxy.
- Прогнати canary із HTTP/1 upgrade, HTTP/2 trailers, HTTP/3, QUIC та CONNECT.
- Перевірити правила RBAC і ext_authz на нестандартних та канонічно еквівалентних URL.
- Порівняти error rate, reset reasons, memory і latency до та після оновлення.
- Переконатися, що admin interface не доступний із недовірених мереж.
Джерело та права
Матеріал є самостійним українським перекладом-переказом release notes Envoy Proxy 1.39.1 від 27 серпня 2026 року. Офіційний репозиторій і release notes поширюються за Apache License 2.0. Технічні деталі CVE подані у стислому редакційному переказі; для оцінки власної конфігурації потрібно читати відповідні advisories. Перекладено, адаптовано й доповнено редакцією «Бібліотеки програміста». Обкладинка є редакційною AI-ілюстрацією й не входить до першоджерела.
Матеріал перекладено, переказано та доповнено редакцією українською мовою.
Читайте далі — ми вже розбираємо наступну важливу тему.


