Kubelet API Exposure Detection
kubelet-api-exposure is a critical severity check in the
devops category, written in go.
Its source is templates/devops/kubernetes/kubelet-api-exposure.go in
cert-x-gen-templates.
What it checks
Section titled “What it checks”Detects exposed Kubelet API endpoints that allow unauthenticated access to pod information and potential container execution. Exposed Kubelet APIs can lead to node-level compromise, secret extraction, and container escape.
Header
Section titled “Header”| Field | Value |
|---|---|
| Id | kubelet-api-exposure |
| Severity | critical |
| Language | go |
| Category | devops |
| Author | BugB Technologies |
| Template version | not recorded |
| Confidence | 95 |
| CVSS | not recorded |
| Weakness | CWE-306 |
| Tags | kubernetes, kubelet, api-exposure, container-escape, node-compromise, misconfiguration |
| Target kind | not recorded |
| Oracle | not recorded |
References
Section titled “References”Declared in the header. cxg parses @references and then discards it, and
nothing at scan time reads it, so this is the only place the links a
template cites are surfaced.
- https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-authentication-authorization/
- https://www.cyberark.com/resources/threat-research-blog/kubernetes-pentest-methodology-part-1
- https://attack.mitre.org/techniques/T1552/007/
Run it
Section titled “Run it”To see what the copy on your machine says about itself, and to confirm it is installed at all:
cxg template info kubelet-api-exposureThe id it prints is the one to pass anywhere a template is selected. See
cxg template for the rest of
the subcommand, Scan a target for running
a scan, and
A match is not a finding for how
to read what comes back.
Related
Section titled “Related”- Template catalog is the whole corpus.
- devops is the rest of this category.
- Templates by weakness class groups checks by the defect they look for.
- Contribute a template is the route from a check you needed and could not find to a merged one.

