Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config to turn-off Trigger's namespaced SA impersonation #679

Closed
skaegi opened this issue Jul 19, 2020 · 3 comments · Fixed by #705
Closed

Config to turn-off Trigger's namespaced SA impersonation #679

skaegi opened this issue Jul 19, 2020 · 3 comments · Fixed by #705
Labels
kind/question Issues or PRs that are questions around the project or a particular feature

Comments

@skaegi
Copy link
Contributor

skaegi commented Jul 19, 2020

Is there a config parameter or someway to prevent users from using the feature that let's cross-namespace SA impersonation. This is very hard to secure and let's anyone who has privs to create an EventListener in one namespace the ability to impersonate any other user in any namespace like a cluster admin and steal their credentials. Am I misunderstanding this or is there a feature flag to turn this off?

@skaegi
Copy link
Contributor Author

skaegi commented Jul 20, 2020

/kind question

@tekton-robot tekton-robot added the kind/question Issues or PRs that are questions around the project or a particular feature label Jul 20, 2020
@dibyom
Copy link
Member

dibyom commented Jul 22, 2020

This is very hard to secure and let's anyone who has privs to create an EventListener in one namespace the ability to impersonate any other user in any namespace like a cluster admin and steal their credentials.

Can you elaborate on this? Is it that one user can in theory create a EL with a serviceAccountName that they might not have access to? In that case, how is it different from the Pipelines scenario where a user can create a Taskrun with a SA they don't have access to. In the Triggers sceanrio, all that a user can do is create a PipelineRun/TaskRun while in Pipelines, the user can actually run arbitrary code?

@skaegi
Copy link
Contributor Author

skaegi commented Jul 24, 2020

I’m totally fine with the ability for an EL to impersonate an SA “in the same namespace”. Anyone who can create a pod via TaskRun, Job, StatefulSet, etc can do that today.

My concern is about the Trigger’s ability to impersonate an SA “in another namespace” . That is a cluster-wide super power and something no other built-in k8 CRD allows. I would consider removing this ability as I believe it is a mis-feature but at the very least let configure the feature off as it’s a security hazard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/question Issues or PRs that are questions around the project or a particular feature
Projects
None yet
3 participants