K8SECURITY Telegram 1365
Как думаете, насколько опасна такая 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 McCuneWhen is read-only not read-only?, в которой он рассказал об этой особенности.



tgoop.com/k8security/1365
Create:
Last Update:

Как думаете, насколько опасна такая 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 McCuneWhen is read-only not read-only?, в которой он рассказал об этой особенности.

BY k8s (in)security


Share with your friend now:
tgoop.com/k8security/1365

View MORE
Open in Telegram


Telegram News

Date: |

Some Telegram Channels content management tips Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. With the sharp downturn in the crypto market, yelling has become a coping mechanism for many crypto traders. This screaming therapy became popular after the surge of Goblintown Ethereum NFTs at the end of May or early June. Here, holders made incoherent groaning sounds in late-night Twitter spaces. They also role-played as urine-loving Goblin creatures. A Hong Kong protester with a petrol bomb. File photo: Dylan Hollingsworth/HKFP. The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.”
from us


Telegram k8s (in)security
FROM American