Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| openkruise | kruise | >= 0.8.0, < 1.3.1, = 1.4.0, >= 1.5.0, < 1.5.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/openkruise/kruise | >= 0.8.0, < 1.3.1 | 1.3.1 | GHSA-437m-7hj5-9mpw |
| Go | github.com/openkruise/kruise | >= 1.4.0, < 1.4.1 | 1.4.1 | GHSA-437m-7hj5-9mpw |
| Go | github.com/openkruise/kruise | >= 1.5.0, < 1.5.2 | 1.5.2 | GHSA-437m-7hj5-9mpw |