FieldSelectorAttributes

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

  • переконатися, що 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"

FieldSelectorAttributes

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

  • переконатися, що 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
FieldSelectorRequirement array
requirements є опрацьованою інтерпретацією селектора полів. Всі вимоги повинні бути виконані, щоб екземпляр ресурсу відповідав селектору. Реалізації вебхуків повинні обробляти requirements, але як саме їх обробляти залежить від вебхука. Оскільки requirements можуть лише обмежувати запит, безпечно авторизувати як необмежений запит, якщо requirements не зрозумілі.
Востаннє змінено June 10, 2026 at 8:00 PM PST: [uk] Ukrainian translation (all-in-one) (4e8fe0f729)