
CVE-2026-5006 के लिए ऑडिट और शैक्षिक टूलकिट, जो Vault टेम्पलेटेड-पॉलिसी स्लैश-इंजेक्शन भेद्यता है। इसमें Markdown रिपोर्ट उत्पन्न करने वाली एक केवल-पठनीय ऑडिट स्क्रिप्ट और सुधार के लिए एक इंटरैक्टिव वॉकथ्रू शामिल है।
Vault टेम्पलेटेड-पॉलिसी स्लैश-इंजेक्शन भेद्यता पर काम करने के लिए दो उपकरण: समस्या को समझाने और उसका दायरा तय करने के लिए एक इंटरैक्टिव वॉकथ्रू, और एक ऑडिट स्क्रिप्ट जो लाइव क्लस्टर की जाँच करती है और निष्कर्षों को Markdown में लिखती है।
vault-cve-2026-5006-walkthrough.html - समस्या का इंटरैक्टिव, स्व-निहित वॉकथ्रूvault-cve-2026-5006-audit.sh - केवल-पठनीय क्लस्टर ऑडिट जो चार रिपोर्ट तैयार करता हैVault पॉलिसी पथ टेम्पलेटिंग के माध्यम से एक लाइव पहचान मान, जैसे किसी उपयोगकर्ता का विभाग, खींच सकता है। Vault पॉलिसी को रेंडर करते समय उस मान को एक पथ खंड में भरता है। मान में स्लैश ले जाने से कोई चीज़ नहीं रोकती, और स्लैश एक पथ विभाजक है, इसलिए admin/super-secret जैसा मान एक इच्छित खंड को दो में बदल देता है और उस एक्सेस को प्रदान करता है जो पॉलिसी लेखक ने कभी नहीं लिखा था। इसका शोषण करने के लिए तीन चीज़ों का मेल होना आवश्यक है: एक प्रमाणित हमलावर, एक टेम्पलेटेड पॉलिसी, और उस पहचान मान पर नियंत्रण जो इसे फीड करता है (एंटिटी मेटाडेटा, एक उपनाम नाम, कस्टम मेटाडेटा, या ग्रुप मेटाडेटा)।
फिक्स के दो हिस्से हैं: पैच किए गए बिल्ड में अपग्रेड करें, फिर सर्वर कॉन्फ़िग में deny_slash_in_templated_paths = true सेट करें और रीस्टार्ट करें। फ्लैग डिफ़ॉल्ट रूप से बंद रहता है, इसलिए अकेले अपग्रेड करने से अंतर बंद नहीं होता।
| संस्करण | प्रभावित | फिक्स इसमें |
|---|---|---|
| Community | 0.11.0 से 2.0.3 तक | 2.0.4 |
| Enterprise | 0.11.0 से 2.0.3 तक | 2.0.4 |
| Enterprise LTS | 1.21.8 / 1.20.13 / 1.19.19 तक | 1.21.9 / 1.20.14 / 1.19.20 |
vault-cve-2026-5006-walkthrough.html)एक एकल स्व-निहित HTML फ़ाइल। इसे किसी भी ब्राउज़र में खोलें।
deny_slash_in_templated_paths को
चालू और बंद करता है ताकि आप फिक्स को नियम को वास्तविक समय में ब्लॉक करते हुए देख सकें।helm upgrade, क्रमबद्ध
पॉड साइक्लिंग (पहले स्टैंडबाय, अंत में एक्टिव), और सत्यापन को कवर करता है।प्लेटफ़ॉर्म या सुरक्षा टीमें। समस्या का संदर्भ प्राप्त करने के लिए हमले वाले टैब से शुरू करें, कमांड सौंपने के लिए जाँच टैब का उपयोग करें, और सुधार टैब को उस डिप्लॉयमेंट पर स्विच करें जो वे चलाते हैं।
vault-cve-2026-5006-audit.sh)हर उस नेमस्पेस पर चलती है जिस तक आप पहुँच सकते हैं और चार Markdown रिपोर्ट लिखती है। यह कभी भी Vault को संशोधित नहीं करती; हर कॉल एक सूची या एक रीड है।
vault CLI और jqVAULT_ADDR क्लस्टर पते पर सेटVAULT_TOKEN या पहले से किया गया
vault login। HCP पर, आपके admin नेमस्पेस तक सीमित एक टोकन।# HCP Vault Dedicated (डिफ़ॉल्ट प्रारंभ नेमस्पेस "admin" है)
./vault-cve-2026-5006-audit.sh
# रूट टोकन के साथ स्व-प्रबंधित: सही रूट से शुरू करें
./vault-cve-2026-5006-audit.sh -n ""
# एक विशिष्ट सबट्री से शुरू करें और आउटपुट निर्देशिका चुनें
./vault-cve-2026-5006-audit.sh -n admin/team-a -o ./team-a-audit
| फ्लैग | अर्थ | डिफ़ॉल्ट |
|---|---|---|
-n | नेमस्पेस जहाँ से वॉक शुरू होता है | admin |
-o | Markdown फ़ाइलों के लिए आउटपुट निर्देशिका | ./vault-audit |
-h | उपयोग हेडर प्रिंट करें और बाहर निकलें |
HCP पर admin से शुरू करें क्योंकि सही रूट नेमस्पेस वहाँ आपको दिखाई नहीं देता।
-n "" का उपयोग केवल तभी करें जब आपके पास स्व-प्रबंधित क्लस्टर पर रूट टोकन हो।
| फ़ाइल | सामग्री |
|---|---|
policies.md | नेमस्पेस द्वारा समूहीकृत टेम्पलेटेड पॉलिसियाँ, HCL के साथ |
entity-metadata.md | एंटिटी नाम और मेटाडेटा, प्रति नेमस्पेस एक तालिका |
alias-and-custom-metadata.md | उपनाम नाम और कस्टम मेटाडेटा, प्रति नेमस्पेस |
group-metadata.md | ग्रुप नाम और मेटाडेटा, प्रति नेमस्पेस |
प्रत्येक फ़ाइल सलाहकार संदर्भ, एक UTC टाइमस्टैम्प, क्लस्टर पता, प्रारंभ नेमस्पेस, और स्कैन किए गए नेमस्पेस की संख्या के साथ खुलती है।
policies.md केवल उन पॉलिसियों को सूचीबद्ध करता है जिनका पथ पहचान डेटा से रेंडर किया गया है
(एक {{identity...}} संदर्भ)। केवल वे ही स्लैश द्वारा चौड़ी की जा सकती हैं।
तीन पहचान रिपोर्ट एक Slash? कॉलम जोड़ती हैं। एक पंक्ति फ्लैग की जाती है जब
नाम या कोई मेटाडेटा मान में / होता है। नाम की जाँच करना मायने रखता है: एक उपनाम
जिसका नाम admin/injected है, एक जोखिम है भले ही उसका मेटाडेटा साफ हो, क्योंकि
नाम स्वयं एक टेम्पलेट को फीड कर सकता है।
एक फ्लैग जोखिम की सतह को दर्शाता है, समझौते का प्रमाण नहीं। प्रत्येक के लिए, पुष्टि करें कि उस मान को लिखने की अनुमति किसे है और पॉलिसी को पुनर्गठित करें जहाँ स्लैश दायरा बढ़ाएगा।
Vault Enterprise और HCP पॉलिसियों और पहचान स्टोर दोनों को प्रति
नेमस्पेस अलग करते हैं, इसलिए स्क्रिप्ट हर जाँच को प्रत्येक नेमस्पेस में चलाती है। vault namespace list केवल प्रत्यक्ष चाइल्ड को आंशिक पथ के रूप में लौटाता है, इसलिए स्क्रिप्ट पुनरावृत्ति करती है और
उतरते समय प्रत्येक पूर्ण पथ को फिर से बनाती है, फिर हर कॉल के लिए VAULT_NAMESPACE सेट करती है।
गहरे नेमस्पेस ट्री पर यह बहुत सारे API कॉल करता है और धीमा चल सकता है। सब कुछ स्कैन करने से पहले
तेज़ पहले पास के लिए -n को एक सबट्री पर इंगित करें।
deny_slash_in_templated_paths = true सक्षम करें और प्रत्येक सर्वर को रीस्टार्ट करें। HCP पर
यह एक सपोर्ट अनुरोध है, क्योंकि सर्वर कॉन्फ़िग आपके संपादन के लिए नहीं है।
स्व-प्रबंधित पर आप इसे स्वयं सेट करते हैं।वॉकथ्रू के सुधार टैब में HCP और Kubernetes दोनों के लिए चरण-दर-चरण है।
deny_slash_in_templated_pathsये उपकरण एक सहायता हैं, HashiCorp का आधिकारिक वक्तव्य नहीं।