LabelSelectorAttributes

LabelSelectorAttributes вказує на обмежений доступ за мітками. Розробникам вебхуків рекомендується:

  • переконатися, що rawSelector та requirements не встановлені одночасно
  • враховувати поле requirements, якщо воно встановлене
  • не намагатися аналізувати або враховувати поле rawSelector, якщо воно встановлене.

Це робиться для уникнення ще одного CVE-2022-2880 (тобто змусити різні системи погодитися щодо того, як саме аналізувати запит, не є бажаним), див. https://www.oxeye.io/resources/golang-parameter-smuggling-attack для отримання додаткової інформації. Для кінцевих точок *SubjectAccessReview kube-apiserver:

  • Якщо rawSelector порожній і requirements порожні, запит не обмежений.
  • Якщо rawSelector присутній і requirements порожні, rawSelector буде проаналізований і обмежений, якщо аналіз успішний.
  • Якщо rawSelector порожній і requirements присутні, requirements повинні бути враховані.
  • Якщо rawSelector присутній і requirements присутні, запит недійсний."

apiVersion: authorization.k8s.io/v1

import "k8s.io/api/authorization/v1"

LabelSelectorAttributes

LabelSelectorAttributes вказує на обмежений доступ за мітками. Розробникам вебхуків рекомендується:

  • переконатися, що rawSelector та requirements не встановлені одночасно
  • враховувати поле requirements, якщо воно встановлене
  • не намагатися аналізувати або враховувати поле rawSelector, якщо воно встановлене.

Це робиться для уникнення ще одного CVE-2022-2880 (тобто змусити різні системи погодитися щодо того, як саме аналізувати запит, не є бажаним), див. https://www.oxeye.io/resources/golang-parameter-smuggling-attack для отримання додаткової інформації. Для кінцевих точок *SubjectAccessReview kube-apiserver:

  • Якщо rawSelector порожній і requirements порожні, запит не обмежений.
  • Якщо rawSelector присутній і requirements порожні, rawSelector буде проаналізований і обмежений, якщо аналіз успішний.
  • Якщо rawSelector порожній і requirements присутні, requirements повинні бути враховані.
  • Якщо rawSelector присутній і requirements присутні, запит недійсний.

ПолеОпис
rawSelector
string
rawSelector є серіалізацією селектора полів, який буде включений у параметр запиту. Розробникам вебхуків рекомендується ігнорувати rawSelector. *SubjectAccessReview kube-apiserver буде аналізувати rawSelector, якщо requirements відсутні.
requirements
LabelSelectorRequirement array
requirements є обробленою інтерпретацією селектора міток. Всі вимоги повинні бути виконані, щоб екземпляр ресурсу відповідав селектору. Реалізації вебхуків повинні обробляти requirements, але як саме їх обробляти залежить від вебхука. Оскільки requirements можуть лише обмежувати запит, безпечно авторизувати як необмежений запит, якщо requirements не зрозумілі.
Востаннє змінено June 10, 2026 at 8:00 PM PST: [uk] Ukrainian translation (all-in-one) (4e8fe0f729)