TGViewer
k8s (in)security k8s (in)security @k8security · 13.2K subscribers
Post #1365 4.83K
Как думаете, насколько опасна такая Role?


apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-exec-view-role
rules:
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get"]


Если вы думали, что только Role/ClusterRole с правами create – pods/exec может позволить пользователю делать exec в Pod, то вы ошибались. Благодаря особенностям работы Websockets, прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Что ещё более интересно, так это то, что такое поведение уже было давно в Kubernetes, но вы могли его не заметить, поскольку по умолчанию для exec использовался SPDY протокол, а не Websockets. О проблеме известно с 2019 года!

Чтобы получить exec при правах get – pods/exec, например, можно воспользоваться wscat:


wscat -s "base64url.bearer.authorization.k8s.io.$token, base64.channel.k8s.io" -n -c 'wss://192.168.99.100:8443/api/v1/namespaces/default/pods/testpod/exec?container=testpod&command=sh&stdout=true&stderr=true&stdin=true&tty=true'


Однако, начиная с версии Kubernetes 1.31 для операций attach, exec и port-forward теперь по умолчанию используется Websockets, а это значит, что прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Нельзя не упомянуть свежую заметку Rory McCune – When is read-only not read-only?, в которой он рассказал об этой особенности.
  • 🔥 37
  • 👍 3
  • 🤔 3
  • ❤ 1
  • 🥰 1
More from @k8security
  1. Oct 2, 2026Docker Sandbox Kit Specification — это открытая спецификация упаковки окружения для AI-аге…
  2. Oct 1, 2026Docker выпустил свой официальный набор skills для работы со своими решениями: - Dockerfile…
  3. Sep 30, 2026Сегодняшний наш герой это runtime security агент на eBPF под названием Bombini, который це…
  4. Sep 29, 2026Сконцентрировавшись на серверной части инфраструктуры, мы порой непростительно забываем пр…
  5. Sep 28, 2026Начнем неделю со статьи "Scale your AI workloads faster and more efficiently with GKE Pod…
  6. Sep 25, 2026В Kubernetes была закрыта новая уязвимость. CVE-2026-2270: StatefulSet and ControllerRevis…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →