Skip to content

Get imperative to work on vault on ocp 4.22#124

Merged
mbaldessari merged 1 commit into
validatedpatterns:mainfrom
mbaldessari:fix-4.22
Jun 17, 2026
Merged

Get imperative to work on vault on ocp 4.22#124
mbaldessari merged 1 commit into
validatedpatterns:mainfrom
mbaldessari:fix-4.22

Conversation

@mbaldessari

Copy link
Copy Markdown
Contributor

In Kubernetes 1.35 (which OCP 4.22 is based on), a new security feature
was introduced: synthetic RBAC CREATE authorization checks for WebSocket
upgrade requests (like pods/exec, pods/attach, pods/portforward).

Previously, exec went over SPDY and only required get/connect
permissions — your wildcard get/list/watch ClusterRole worked fine.
Starting in 1.35, the API server enforces an additional create verb
check on pods/exec whenever a WebSocket upgrade happens. This is to
close a privilege escalation path where read-only users could exec into
pods via the GET-to-WebSocket upgrade.

This way we conditionally allow the imperative namespace to exec into the
vault namespace.

Tested on 4.22 and 4.21

In Kubernetes 1.35 (which OCP 4.22 is based on), a new security feature
was introduced: synthetic RBAC CREATE authorization checks for WebSocket
upgrade requests (like pods/exec, pods/attach, pods/portforward).

Previously, exec went over SPDY and only required get/connect
permissions — your wildcard get/list/watch ClusterRole worked fine.
Starting in 1.35, the API server enforces an additional create verb
check on pods/exec whenever a WebSocket upgrade happens. This is to
close a privilege escalation path where read-only users could exec into
pods via the GET-to-WebSocket upgrade.

This way we conditionally allow the imperative namespace to exec into the
vault namespace.

Tested on 4.22 and 4.21
@darkdoc

darkdoc commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

/lgtm

@mbaldessari

Copy link
Copy Markdown
Contributor Author

Tested on 4.18 as well, merging

@mbaldessari mbaldessari merged commit b6d46ac into validatedpatterns:main Jun 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants