Анонс Istio 1.29.7
Патч-реліз Istio 1.29.7.
Цей реліз містить виправлення безпеки. Ця примітка до релізу описує, що змінилося між Istio 1.29.6 та 1.29.7.
ПЕРШ НІЖ ОНОВИТИСЬ
Що потрібно знати та підготувати перед оновленням.
ЗАВАНТАЖИТИ
Завантажити та встановити цей випуск.
ДОКУМЕНТАЦІЯ
Відвідайте документацію до цього випуску.
ЗМІНИ СИРЦІВ
Ознайомтеся з повним набором змін у вихідному коді.
Оновлення безпеки
Для отримання додаткової інформації дивіться ISTIO-SECURITY-2026-006.
CVE Envoy
- CVE-2026-73513: (оцінка CVSS 7.5): Виправлено витік памʼяті use-after-free в
oghttp2при отриманні HTTP/2 трейлерів без прапорцяEND_STREAM. - CVE-2026-73552: (оцінка CVSS 7.5): Виправлено помилку, через яку
safe_regexне вдавався відкрито на не-UTF-8 байтах заголовка в RBAC політиках з негативним співставленням. - CVE-2026-73512: (оцінка CVSS 7.5): Виправлено use-after-free в обробнику HTTP датаграм QUIC.
- CVE-2026-73547: (оцінка CVSS 7.5): Виправлено аномальне завершення процесу в
ext_authzпри обробці CONNECT запитів без псевдо-заголовка:path. - CVE-2026-73549: (оцінка CVSS 5.3): Виправлено аномальне завершення процесу для обмежених IPv6 клієнтських адрес з HTTP/3.
- CVE-2026-50572: (оцінка CVSS 5.9): Виправлено use-after-free в raw HTTP клієнті
ext_authz. - CVE-2026-73546: (оцінка CVSS 7.4): Виправлено збережену XSS вразливість у HTML інтерфейсі статистики.
- CVE-2026-48521: (оцінка CVSS 5.9): Виправлено аномальне завершення процесу, де Envoy міг розіменовувати нульові опції транспортного сокета при виборі пулу зʼєднань HTTP/3 на основі ALPN.
- CVE-2026-73551: (оцінка CVSS 5.3): Виправлено нормалізацію URL сегментів шляхів dot та dot-dot з параметрами.
- CVE-2026-73511: (оцінка CVSS 5.3): Виправлено співставлення шляхів для параметрів на рівні сегментів.
- CVE-2026-73548: (оцінка CVSS 7.5): Виправлено отруєння відповідей між користувачами при загальних HTTP оновленнях (non-WebSocket).
- CVE-2026-73550: (оцінка CVSS 7.5): Виправлено вичерпання памʼяті HTTP/2 через відкинуті дубльовані заголовки Host.
- CVE-2026-73553: (оцінка CVSS 7.5): Виправлено обхід RBAC через
ignore_path_parameters_in_path_matching.
CVE Istio
- GHSA-qm8v-g4f9-qhjx (оцінка CVSS 6.8, Середній):
BackendTLSPolicyне вдається відкрито до plaintext на sidecar проксі, коли його CA посилання невирішене. Повідомив @thc1006.
Інші виправлення безпеки Istio
- Виправлено прогалину валідації
EnvoyFilter, де необмежений вираз співставленняproxyVersionміг спричинити надмірне споживання памʼяті та CPU istiod під час компіляції regex. Вираз співставлення тепер обмежено 1024 символами. Зазначення: Цю проблему повідомивArtem Cherezov.
Зміни
Оновлено версію
nftables, яку використовують distroless-образи Istio. Версіюnftablesраніше було зафіксовано на 1.1.1, щоб уникнути помилки, яка могла спричинити збій старіших версійnftablesна вузлах K8s після того, як Istio використовував новішу версію, упаковану в його образах, на тому ж вузлі. Основні дистрибутиви Linux були повідомлені про проблему та випустили виправлення. В результаті Istio видаляє фіксацію версіїnftables. Користувачам рекомендується оновити пакунокnftablesна своїх вузлах до останньої доступної версії, щоб переконатися, що виправлена версія встановлена. Якщо ви продовжуєте стикатися зі збоямиnftablesна своїх вузлах, відкотіться до старішої версії Istio та зверніться до постачальника ОС вашого вузла з проханням включити виправлення у вашу версію ОС. (Тікет #58492)Виправлено стан гонитви під час запуску istiod, коли перевірка готовності могла повідомляти про готовність до того, як виділений сервер веб-хуків інʼєкції та перевірки (
--httpsAddr, зазвичай:15017) починав приймати зʼєднання, що спричиняло періодичні тайм-аутиfailed calling webhookпри створенні ресурсів одразу після того, як istiod ставав готовим. Це не впливає на розгортання, де веб-хуки використовують основний HTTP-сервер (порожній--httpsAddr). (Тікет #61049)Виправлено проблему, через яку вхідні шлюзи обходили waypoint-проксі для мультикластерних сервісів, коли віддалені робочі навантаження були в іншій мережі, що призводило до незастосування політик авторизації. (Тікет #61092)
Виправлено проблему, через яку ресурси
Deploymentпроксі шлюзу могли назавжди не створюватися під час запуску istiod. (Тікет #61095)Виправлено проблему, через яку
istio-cniвважав podʼиhostNetworkпридатними для залучення до ambient. (Тікет #61168)Виправлено витік файлових дескрипторів у агенті вузла
istio-cni: коли скануванняprocfsзнаходило більше одного простору імен мережі для одного й того ж podʼа, файловий дескриптор netns кандидата, що програв, відкидався без закриття, утримуючи простір імен у ядрі до збору сміття.Виправлено помилку, через яку агент вузла
istio-cniміг зіставити ambient pod з простором імен мережі іншого podʼа, коли сторонній процес перебував у цьому просторі імен під час сканування, що могло спричинити проксіювання трафіку з неправильною ідентичністю. Тепер агент вузла перевіряє, що простір імен містить одну з IP-адрес podʼа, перш ніж залучати pod. (Тікет #61211)Виправлено проблему, через яку istiod постійно зберігав копію імені кожного ресурсу робочого навантаження для кожного зʼєднання Envoy MDS (WDS, використовується для пошуку метаданих телеметрії), яке надсилало
initial_resource_versions.Виправлено помилку, через яку повторне зʼєднання ztunnel (наприклад, періодичний перезапуск зʼєднання з
keepaliveMaxServerConnectionAge) запускало повне надсилання робочих навантажень (WDS). Тепер istiod призначає кожному ресурсу WDS версію на основі вмісту, і коли клієнт, що перепідключається, повідомляє версії, які він вже має, черезinitial_resource_versions, повторно надсилає лише ресурси, які змінилися, поки клієнт був відключений. Старіші версії ztunnel, які не повідомляють версії, продовжують отримувати повний набір. (Тікет #1966)Виправлено проблему Gateway API, через яку міжпросторовий TLS
certificateRefабоcaCertificateRefрозвʼязувався до перевірки авторизаціїReferenceGrant, тому статусResolvedRefsслухача міг розкривати, чи існує згаданийSecretабоConfigMap, навіть коли жоден грант не дозволяв посилання. Тепер авторизація виконується спочатку, повертаючиRefNotPermittedдля будь-якого міжпросторового посилання, не дозволеного грантом. Авторство: Цю проблему повідомив Darryl Jaskolski.Виправлено прогалину SSRF у отриманні
jwksUriдляRequestAuthenticationв istiod. Тепер istiod блокує link-local та відомі адреси метаданих хмар (такі як169.254.169.254) на рівні стандартного зʼєднання та відхиляє отримані відповіді, які не є дійсним JWKS. Приватні та loopback-діапазони залишаються доступними і можуть бути заблоковані за допомогоюBLOCKED_CIDRS_IN_JWKS_URIS.Виправлено генератор
apiXDS (обслуговування конфігурації MCP), щоб вимагати перевірену ідентичність панелі управління. Раніше будь-який клієнт, який міг досягти порту XDS istiod, міг читати конфігурацію Istio у всіх просторах імен. СтандартноENABLE_XDS_API_GENERATOR_AUTH=true; вимкніть за допомогоюENABLE_XDS_API_GENERATOR_AUTH=false, якщо це необхідно для сумісності.Виправлено кілька анотацій
sidecar.istio.io/*(proxyImage,bootstrapOverride,logLevel,componentLogLevel,agentLogLevel), які інтерполювалися у шаблони інʼєкції sidecar/шлюзу без екранування виводу, що могло дозволити створеному значенню анотації впроваджувати додаткові поля у згенеровану специфікацію pod або розгортання. Ці анотації тепер екрануються послідовно у кожній точці шаблону. Авторство: Цю вразливість виявив та повідомивlocalhost-detect.Виправлено витоки goroutine та памʼяті в istiod у режимі ambient мультикластера, коли віддалені кластери видаляються або оновлюються. Внутрішні колекції, створені для кожного віддаленого кластера, не звільняли обробники подій, які вони зареєстрували на своїх входах, під час знищення, що спричиняло накопичення goroutine та памʼяті з часом, коли кластери видалялися або переналаштовувалися. (Тікет #60033)
Виправлено витік goroutine у виборах лідера istiod, де кожен цикл виборів (втрата та повторне отримання лідерства) спричиняв витік однієї goroutine до завершення процесу. (Тікет #60843)
Виправлено проблему, через яку використання CPU istiod зростало зі збільшенням кількості ресурсів
AuthorizationPolicy. (Тікет #61254)Виправлено відхилення згенерованих
Serviceшлюзу, коли два імені слухачів нормалізуються до одного й того ж імені порту Service (імена, що відрізняються лише крапками проти дефісів, або лише за межею 63 символів), що блокувало кожен неопублікований порт на шлюзі. Імена портів з конфліктами тепер розрізняються номером порту слухача.Покращено продуктивність отримання ресурсів
PeerAuthenticationдля даного робочого навантаження.