Анонс Istio 1.29.5
Патч-реліз Istio 1.29.5.
Цей реліз містить виправлення помилок для покращення надійності. Ця примітка до релізу описує, що змінилося між Istio 1.29.4 та 1.29.5.
ПЕРШ НІЖ ОНОВИТИСЬ
Що потрібно знати та підготувати перед оновленням.
ЗАВАНТАЖИТИ
Завантажити та встановити цей випуск.
ДОКУМЕНТАЦІЯ
Відвідайте документацію до цього випуску.
ЗМІНИ СИРЦІВ
Ознайомтеся з повним набором змін у вихідному коді.
Зміни
Виправлено короткочасне перервання трафіку при зміні мітки
istio.io/revна KubernetesGateway(абоListenerSet). Панель управління, яка раніше володіла ресурсом, більше не відкидає ресурс і не надсилає порожню конфігурацію xDS podʼам шлюзу, які все ще працюють на старій ревізії. Записи статусу для ревізій, що не володіють, все ще придушуються, тому ревізії не перемикаються на статусах одна одної. (Тікет #59959)Виправлено проблему, через яку pod, залучений до ambient, міг бути виключений з ipset перевірки стану хоста після перезапуску вузла або kubelet, що спричиняло перенаправлення перевірок kubelet на ztunnel та їх відхилення до перезапуску вузлового агента
istio-cni. Під час запуску вузловий агент міг виселяти все ще залучені podʼи з ipset, коли їх IP ще не було видно, і тепер він повторно підтверджує членство у ipset перевірки для залучених podʼів під час узгодження.Виправлено генерацію конфігурації для sidecar до 1.29.2.
Виправлено витік памʼяті у фреймворку контролера
krt, де зміна ключа, використаного у фільтріFetch(наприклад, зміна мітки podʼа для вказівки на інший waypoint), залишала застарілі записи зворотного індексу, які ніколи не очищалися. З часом це могло збільшити використання памʼяті та спричинити непотрібні повторні обчислення.Виправлено паніку (
close of closed channel) у контролері секретів мультикластера, яка могла виникати, коли секрет kubeconfig віддаленого кластера оновлювався двічі швидко поспіль. (Тікет #60520)
Оновлення безпеки
Для отримання додаткової інформації дивіться ISTIO-SECURITY-2026-005.
CVE Envoy
- GHSA-p7c7-7c47-pwch: (оцінка CVSS 7.5): Виправлено вразливість відмови в обслуговуванні у стеку HTTP/3 через блокування декодування QPACK. Коли QPACK блок заголовка був заблокований у очікуванні оновлень динамічної таблиці, байти payload HEADERS звільнялися з обліку flow-control отримання QUIC, у той час як все ще утримувалися у внутрішньому буфері купи декодера, що дозволяло віддаленому зловмиснику спричинити необмежене зростання памʼяті та викликати стан вичерпання памʼяті.
- CVE-2026-47692: (оцінка CVSS 4.8): Виправлено помилку, через яку passthrough TLV поєднані з доданими TLV могли перевищити максимальну довжину, що призводило до невідповідності між розміром, повідомленим у заголовку, та кількістю записаних байтів. Це могло дозволити проникнення запиту від хосту, що записує заголовок PROXY протоколу, до upstream хоста.
- CVE-2026-47207: (оцінка CVSS 6.5): Виправлено помилку, через яку сервер
ext_procнадсилав несподіваніProcessingResponsesдо Envoy. - CVE-2026-47205: (оцінка CVSS 5.9): Виправлено аварійне завершення use-after-free у фільтрі ext_authz при активних перевизначеннях сервісу на рівні маршруту та скиданні downstream-зʼєднання під час вільної перевірки авторизації.
- CVE-2026-47220: (оцінка CVSS 7.5): Виправлено помилку аварійного завершення у форматері
%REQUESTED_SERVER_NAME%, де хост або оригінальний хост не встановлено коректно, але форматер налаштований на доступ до значення хоста. - CVE-2026-47221: (оцінка CVSS 5.9): Виправлено проблему при обробці внутрішніх перенаправлень HTTP 303 для запитів без тіла. Код обробки перенаправлення спробував вичерпати буфер тіла запиту, що ніколи не виділявся, спричиняючи помилку сегментації.
- CVE-2026-48044: (оцінка CVSS 7.5): Виправлено вразливість вичерпання памʼяті у декомпресорі Zstd, де обмеження
MaxInflateRatioперевірялося лише після повної обробки кожного вхідного зрізу, що дозволяло зловмисно сформованому стисненому payload розширюватися до сотень МБ у рамках одного викликуprocess(). Обмеження коефіцієнта роздування тепер застосовується всередині внутрішнього циклу декомпресії, узгоджено з декомпресорами gzip та brotli, і припиняє декомпресію негайно при перевищенні порогу. - CVE-2026-48090: (оцінка CVSS 5.9): Виправлено помилку, через яку асинхронний callback зміни токена міг спрацювати після того, як фільтр був зруйнований (
onDestroy()був викликаний), що могло призвести до доступу до висячих вказівників та результату в UAF/аварійному завершенні. - CVE-2026-47778: (оцінка CVSS 4.4): Виправлено проблему, через яку Envoy міг не перевірити Subject Alternative Name (SAN) сертифіката партнера, якщо SAN містив вбудований NUL байт. Раніше парсинг SAN був вразливим до обрізання NUL байтом у деяких конфігураціях, що потенційно призводило до некоректних рішень довіри.
- CVE-2026-47204: (оцінка CVSS 6.5): Виправлено аварійне завершення або use-after-free, коли фільтр gRPC stats виконує відстеження статистики на маршруті прямого відповіді.
- CVE-2026-48497: (оцінка CVSS 5.9): Виправлено перевірку коректності довжини імені запиту для уникнення аномального завершення процесу. Використовується
ENVOY_BUGу разі невдачі перевірки. - CVE-2026-48706: (оцінка CVSS 5.9): Виправлено проблему переповнення буфера
TcpStatsdSinkз великою назвою статистики. - CVE-2026-48743: (оцінка CVSS 7.5): Виправлено валідацію content-length для запитів та відповідей лише з заголовками HTTP/3 та скидання потоку при невідповідності. Зміна охороняється runtime guard
envoy.reloadable_features.quic_validate_headers_only_content_length. - CVE-2026-47775: (оцінка CVSS 6.8): Усунуто padding oracle у AES-256-CBC розшифруванні cookie фільтра OAuth2. Фільтр тепер підтримує AES-256-GCM шифрування з маркером алгоритму
gcm., що автентифікує шифротекст і усуває oracle. - CVE-2026-48042: (оцінка CVSS 7.5): Обмежено глибину вкладеності JSON до 1000. Обмеження можна послабити до 10K, встановивши
envoy.reloadable_features.limit_json_parser_nesting_depthуfalse.