Leverage the kruise-daemon pod to list all secrets in the entire cluster
Kruise provides automated management of large-scale applications on Kubernetes. Starting in version 0.8.0 and prior to versions 1.3.1, 1.4.1, and 1.5.2, an attacker who has gained root privilege of the node that kruise-daemon run can leverage the kruise-daemon pod to list all secrets in the entire cluster. After that, the attacker can leverage the "captured" secrets (e.g. the kruise-manager service account token) to gain extra privileges such as pod modification. Versions 1.3.1, 1.4.1, and 1.5.2 fix this issue. A workaround is available. For users that do not require imagepulljob functions, they can modify kruise-daemon-role to drop the cluster level secret get/list privilege.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-250 | CWE-250: Execution with Unnecessary Privileges |
| CWE | CWE-269 | CWE-269: Improper Privilege Management |
Type: CWE
Description: CWE-250: Execution with Unnecessary Privileges
Type: CWE
Description: CWE-269: Improper Privilege Management
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.1 | 6.5 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N |
Version: 3.1
Base score: 6.5
Base severity: MEDIUM
Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N