Патч-випуски Etcd: v3.7.1, v3.6.14 та v3.5.33

SIG-etcd випустив патч-оновлення для всіх трьох підтримуваних гілок випуску. Ці випуски виправляють дві вразливості безпеки, кілька незначних проблем безпеки та усувають кілька проблем надійності на сервері, у клієнтській бібліотеці та в TLS-стеку. Користувачам v3.5, v3.6 та v3.7 слід оновитися під час наступного запланованого вікна технічного обслуговування.

Отримайте оновлення тут:

Офіційні контейнерні образи доступні з gcr.io.

Виправлення безпеки: витік відповідей watch через межі RBAC-ключів

Усі три випуски виправляють вразливість, за якої користувач із наданим правом читання на один ключ міг отримувати сповіщення watch-подій для кожного ключа, починаючи з цього ключа, розкриваючи дані поза межами його авторизованої області.

Ця вразливість не впливає на etcd як частину панелі управління Kubernetes. Вона впливає лише на кластери etcd з увімкненою автентифікацією в ненадійних або частково надійних середовищах.

Користувачі, які залежать від etcd Auth у такий спосіб, мають негайно оновити свої кластери. Інші користувачі etcd можуть оновитися під час наступного регулярно запланованого періоду технічного обслуговування.

Додаткову інформацію про вразливість, зокрема обхідні шляхи, можна знайти в її звіті про вразливість

Подяки

Цю вразливість повідомили члени спільноти etcd. Наш SIG глибоко вдячний:

Якщо ви знайшли вразливість в etcd, будь ласка, повідомте про неї через форму на GitHub.

Виправлення безпеки: tlsListener.acceptLoop створює необмежену кількість goroutine рукостискання без кінцевого терміну

Цей патч-випуск виправляє вразливість, за якої мережевий зловмисник міг відкривати, але не завершувати, необмежену кількість TLS-зʼєднань клієнтів. Це зрештою виснажувало ресурси сервера etcd, спричиняючи відсутність доступності. Ця вразливість безпеки впливає на панель управління Kubernetes.

Додаткову інформацію про вразливість, зокрема обхідні шляхи, можна знайти в її звіті про вразливість

Подяки

Цю вразливість знайшли та виправили члени команди VMware by Broadcom. Ми вдячні цій команді за допомогу в підтримці безпеки etcd.

Виправлення безпеки та надійності, спільні для всіх трьох випусків

Окрім двох заявлених виправлень безпеки, усі три випуски містять набір виправлень як для безпеки, так і для надійності etcd:

  • Необмежене читання в peer-обробнику оренди: HTTP-обробник запитів оренди peer міг виконувати необмежений io.ReadAll, дозволяючи зловмисному або неправильно налаштованому peer спричиняти надмірне використання памʼяті. Це виправлено шляхом обмеження читання.
  • Облік вартості транзакцій: функція costTxnReq не враховувала вкладені операції RequestTxn, що могло призводити до неточних оцінок вартості запитів.
  • Тайм-аути HTTP-сервера: тепер на HTTP-сервері, орієнтованому на клієнтів, встановлено ReadHeaderTimeout, що захищає від атак із повільними заголовками, які могли утримувати зʼєднання відкритими на невизначений час.
  • Гонитва у клієнтському leaseCache: одночасна ітерація по map leaseCache.entries у clientv3 не була належним чином синхронізована, що могло спричинити паніку або неправильну поведінку під час одночасних операцій з орендою.
  • Тайм-аут TLS-рукостискання: TLS-слухач у client/pkg/v3 тепер встановлює tlsHandshakeTimeout, запобігаючи тому, щоб зупинені TLS-рукостискання утримували зʼєднання відкритими на невизначений час.

v3.7.1 та v3.6.14 додатково виправляють проблему конфігурації snapshotLimitByte, коли обмеження розміру знімка не ініціалізувалося до розумного стандартного значення, що могло дозволити знімкам необмежено зростати в деяких конфігураціях.

Оновлення залежностей у v3.6.14 та v3.5.33

v3.6.14 та v3.5.33 оновлюють компілятор Go до go 1.25.12.

v3.5.33 також підвищує golang.org/x/net до v0.56.0 для усунення GO-2026-5942 та golang.org/x/text до v0.39.0 для усунення GO-2026-5970.

Повні журнали змін для кожного випуску:

Востаннє змінено September 13, 2026: Add Ukrainian documentation and tutorials for etcd v3.5..v3.8 (45739f0)