
أداة تدقيق وتعليمية لثغرة 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 وjq في PATH الخاص بكVAULT_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 | طباعة رأس الاستخدام والخروج |
ابدأ من admin على HCP لأن مساحة اسم الجذر الحقيقية غير مرئية لك
هناك. استخدم -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 في مرجع إعدادات Vaultهذه الأدوات مساعدة، وليست بياناً رسمياً من HashiCorp.