Privilege Escalation: Changes to sensitive Kubernetes RBAC objects
Stay organized with collections
Save and categorize content based on your preferences.
This document describes a threat finding type in Security Command Center. Threat findings are generated by
threat detectors when they detect
a potential threat in your cloud resources. For a full list of available threat findings, see Threat findings index.
Overview
To escalate privilege, a potentially malicious actor attempted to modify a
ClusterRole, RoleBinding, or ClusterRoleBinding role-based access
control (RBAC) object of the sensitive cluster-admin
role by using a PUT or PATCH request.
How to respond
To respond to this finding, do the following:
Step 1: Review finding details
Open the Privilege Escalation: Changes to sensitive Kubernetes RBAC objects
finding as directed in Reviewing findings.
The details panel for the finding opens to the Summary tab.
On the Summary tab, review the information in the following sections:
What was detected, especially the following fields:
Principal email: the account that made the call.
Method name: the method that was called.
Kubernetes bindings: the sensitive Kubernetes
binding or ClusterRoleBinding that was modified.
Affected resource, especially the following fields:
Resource display name: the Kubernetes cluster where the action
occurred.
Related links, especially the following fields:
Cloud Logging URI: link to Logging entries.
MITRE ATT&CK method: link to the MITRE ATT&CK documentation.
Related findings: links to any related findings.
In the What was detected section, click on the name of the binding
on the Kubernetes bindings row. The binding details are displayed.
In the displayed binding, note the binding details.
Step 2: Check logs
On the Summary tab of the finding details in the
Google Cloud console, go to Logs Explorer by clicking the link in the
Cloud Logging URI field.
If the value in Method name was a PATCH method, check the request
body to see what properties were modified.
In update (PUT) calls, the whole object is sent in the
request, so the changes aren't as clear.
Check for other actions taken by the principal by using the following
filters:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[],[],null,["| Premium and Enterprise [service tiers](/security-command-center/docs/service-tiers)\n\nThis document describes a threat finding type in Security Command Center. Threat findings are generated by\n[threat detectors](/security-command-center/docs/concepts-security-sources#threats) when they detect\na potential threat in your cloud resources. For a full list of available threat findings, see [Threat findings index](/security-command-center/docs/threat-findings-index).\n\nOverview\n\nTo escalate privilege, a potentially malicious actor attempted to modify a\n`ClusterRole`, `RoleBinding`, or `ClusterRoleBinding` role-based access\ncontrol (RBAC) object of the sensitive [`cluster-admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)\nrole by using a `PUT` or `PATCH` request.\n\nHow to respond\n\nTo respond to this finding, do the following:\n\nStep 1: Review finding details\n\n1. Open the `Privilege Escalation: Changes to sensitive Kubernetes RBAC objects`\n finding as directed in [Reviewing findings](/security-command-center/docs/how-to-investigate-threats#reviewing_findings).\n The details panel for the finding opens to the **Summary** tab.\n\n2. On the **Summary** tab, review the information in the following sections:\n\n - **What was detected** , especially the following fields:\n - **Principal email**: the account that made the call.\n - **Method name**: the method that was called.\n - **Kubernetes bindings** : the sensitive Kubernetes binding or `ClusterRoleBinding` that was modified.\n - **Affected resource** , especially the following fields:\n - **Resource display name**: the Kubernetes cluster where the action occurred.\n - **Related links** , especially the following fields:\n - **Cloud Logging URI**: link to Logging entries.\n - **MITRE ATT\\&CK method**: link to the MITRE ATT\\&CK documentation.\n - **Related findings**: links to any related findings.\n3. In the **What was detected** section, click on the name of the binding\n on the **Kubernetes bindings** row. The binding details are displayed.\n\n4. In the displayed binding, note the binding details.\n\nStep 2: Check logs\n\n1. On the **Summary** tab of the finding details in the Google Cloud console, go to **Logs Explorer** by clicking the link in the **Cloud Logging URI** field.\n2. If the value in **Method name** was a `PATCH` method, check the request\n body to see what properties were modified.\n\n In `update` (`PUT`) calls, the whole object is sent in the\n request, so the changes aren't as clear.\n3. Check for other actions taken by the principal by using the following\n filters:\n\n - `resource.labels.cluster_name=\"`\u003cvar class=\"edit\" translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e`\"`\n - `protoPayload.authenticationInfo.principalEmail=\"`\u003cvar class=\"edit\" translate=\"no\"\u003ePRINCIPAL_EMAIL\u003c/var\u003e`\"`\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the value that you noted in the\n **Resource display name** field in the finding details.\n\n - \u003cvar translate=\"no\"\u003ePRINCIPAL_EMAIL\u003c/var\u003e: the value that you noted in the\n **Principal email** field in the finding details.\n\nStep 3: Research attack and response methods\n\n1. Review MITRE ATT\\&CK framework entries for this finding type: [Privilege Escalation](https://attack.mitre.org/tactics/TA0004/)\n2. Confirm the sensitivity of the object and if the modification is warranted.\n3. For bindings, you can check the subject and investigate whether the subject needs the role it is binded to.\n4. Determine whether there are other signs of malicious activity by the principal in the logs.\n5. If the [principal email](#privilege_escalation_modify_rbac_finding) isn't a\n service account, contact the owner of the account to confirm whether the\n legitimate owner conducted the action.\n\n If the principal email is a service account (IAM or\n Kubernetes), identify the source of the modification to determine its\n legitimacy.\n6. To develop a response plan, combine your investigation results with\n MITRE research.\n\nWhat's next\n\n- Learn [how to work with threat\n findings in Security Command Center](/security-command-center/docs/how-to-investigate-threats).\n- Refer to the [Threat findings index](/security-command-center/docs/threat-findings-index).\n- Learn how to [review a\n finding](/security-command-center/docs/how-to-investigate-threats#reviewing_findings) through the Google Cloud console.\n- Learn about the [services that\n generate threat findings](/security-command-center/docs/concepts-security-sources#threats)."]]