create pods
The gitRepo volume type ran git clone as root on the node.
A crafted repository URL passed arbitrary commands to git for OS-level code execution, T0 on control plane.
Disabled by default since v1.33 and locked off on v1.36, so the kubelet no longer mounts it.
The path applies only to clusters older than 1.33.
Contextual upgrade to T0:
Pod scheduled on a control plane node where /etc/kubernetes admin credentials are readable
Note:
The gitRepo volume driver is disabled by default in 1.33 and GA-locked off in 1.36; the kubelet refuses to mount any gitRepo volume, so this path is dead on modern clusters regardless of the CVE fix.
CVE-2024-10220 was the git command-injection RCE; CVE-2025-1767 is a separate local-repository exposure, not the RCE.
- API Group
- (core)
- Scope
- namespaced
- Audit Level
- Request
Escalation Paths
Create a pod with a gitRepo volume whose repository contains an ext:: command
kubelet runs git clone as root, executing the injected command on the node
Exfiltrate node credentials.
This is T0 on control plane nodes
Additional rights needed:
Note:
The gitRepo driver is disabled by default in 1.33 and GA-locked off in 1.36, so the kubelet will not mount it.
Independently, git 2.12.1+ refuses the ext:: transport by default, blocking the classic CVE-2024-10220 PoC on any normal node regardless of version.
