
CVE-2025-62506 के लिए सत्यापन स्क्रिप्ट, जो MinIO सेवा खातों में एक विशेषाधिकार वृद्धि भेद्यता है, यह परीक्षण करती है कि क्या प्रतिबंधित खाते इनलाइन नीतियों को बायपास करके अप्रतिबंधित खाते बना सकते हैं।
इस रिपॉजिटरी में CVE-2025-62506 के लिए एक सत्यापन स्क्रिप्ट शामिल है, जो MinIO सेवा खातों और STS (सुरक्षा टोकन सेवा) खातों में एक विशेषाधिकार वृद्धि भेद्यता है।
CVE-2025-62506 एक विशेषाधिकार वृद्धि भेद्यता है जो प्रतिबंधित सेवा खातों और STS खातों को "स्वयं" खाता संचालन करते समय अपनी इनलाइन नीति प्रतिबंधों को बायपास करने की अनुमति देती है, विशेष रूप से उसी उपयोगकर्ता के लिए नए सेवा खाते बनाते समय।
यह भेद्यता cmd/iam.go में IAM नीति सत्यापन तर्क में मौजूद है। प्रतिबंधित खातों के लिए सत्र नीतियों को सत्यापित करते समय जो अपने स्वयं के खाते पर संचालन कर रहे हैं (जैसे सेवा खाते बनाना), कोड गलत तरीके से DenyOnly तर्क पर निर्भर था।
DenyOnly फ्लैग का उपयोग खातों को अपने स्वयं के खाते से संबंधित क्रियाएं करने की अनुमति देने के लिए किया जाता है, केवल यह जांच कर कि क्रिया स्पष्ट रूप से अस्वीकृत है या नहीं। हालांकि, जब एक सत्र नीति (उप-नीति) मौजूद होती है, तो सिस्टम को यह सत्यापित करना चाहिए कि क्रिया वास्तव में सत्र नीति द्वारा अनुमत है, न कि केवल यह कि यह अस्वीकृत नहीं है।
8.1 (उच्च) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
RELEASE.2025-10-15T17-29-55Z से पहले के सभी संस्करण
RELEASE.2025-10-15T17-29-55Z
verify_cve_2025_62506.py स्क्रिप्ट जांचती है कि आपका MinIO इंस्टॉलेशन CVE-2025-62506 के प्रति संवेदनशील है या नहीं।
docker-compose.yml के साथ शुरू किया जा सकता है)miniodocker-compose up -d
pip install minio
सत्यापन स्क्रिप्ट निम्नलिखित चरणों का पालन करती है:
bucket1, bucket2, bucket3bucket1 और bucket2 तक पहुंच की अनुमति देती हैs3:* (सभी S3 संचालन)bucket1/*, bucket2/*bucket3 सहित)restrictedrestricted123bucket1 और bucket2 देख सकता हैbucket3) तक पहुंचने के लिए नए खाते का उपयोग करने का प्रयास करता हैdocker-compose up -d
python verify_cve_2025_62506.py
🚀 CVE-2025-62506 भेद्यता सत्यापन स्क्रिप्ट
============================================================
📋 स्क्रिप्ट विवरण:
यह स्क्रिप्ट MinIO सेवा खाता विशेषाधिकार वृद्धि भेद्यता (CVE-2025-62506) का परीक्षण करती है
यह भेद्यता प्रतिबंधित सेवा खातों को नए खाते बनाते समय इनलाइन नीतियों को बायपास करने की अनुमति देती है
============================================================
📦 चरण 1: परीक्षण बकेट बनाएं
तीन परीक्षण बकेट बनाना: bucket1, bucket2, bucket3
खाता पहुंच अनुमति प्रतिबंधों का परीक्षण करने के लिए उपयोग किया जाता है
----------------------------------------
✅ बकेट बनाया गया: bucket1
✅ बकेट बनाया गया: bucket2
✅ बकेट बनाया गया: bucket3
🔒 चरण 2: प्रतिबंधित नीति बनाएं
एक नीति बनाना जो केवल bucket1 और bucket2 तक पहुंच की अनुमति देती है
यह नीति प्रतिबंधित सेवा खाते पर लागू की जाएगी
----------------------------------------
✅ नीति बनाई गई: restricted-policy
📋 नीति अनुमतियाँ:
- अनुमत क्रियाएँ: s3:* (सभी S3 संचालन)
- अनुमत संसाधन: bucket1/*, bucket2/*
- अस्वीकृत संसाधन: अन्य सभी बकेट
👤 चरण 3: प्रतिबंधित सेवा खाता बनाएं
उपरोक्त प्रतिबंधित नीति के साथ एक सेवा खाता बनाना
यह खाता केवल bucket1 और bucket2 तक पहुंच सकता है
----------------------------------------
✅ सेवा खाता बनाया गया: restricted
📋 खाता अनुमतियाँ:
- एक्सेस कुंजी: restricted
- नीति: इनलाइन प्रतिबंधित नीति (केवल bucket1 और bucket2)
- अपेक्षित व्यवहार: केवल निर्दिष्ट बकेट तक पहुंच सकता है
🧪 चरण 4: प्रतिबंधित खाता पहुंच का परीक्षण करें
बकेट सूचीबद्ध करने के लिए प्रतिबंधित खाते का उपयोग करना, अनुमतियों की पुष्टि करना
अपेक्षित परिणाम: केवल bucket1 और bucket2 देख सकता है
----------------------------------------
✅ प्रतिबंधित खाता सही ढंग से अनुमत बकेट तक सीमित है
सुलभ बकेट: ['bucket1', 'bucket2']
⚡ चरण 5: विशेषाधिकार वृद्धि का प्रयास करें (भेद्यता परीक्षण)
नया सेवा खाता बनाने का प्रयास करने के लिए प्रतिबंधित खाते का उपयोग करना
बिना निर्दिष्ट नीति वाला नया खाता मूल प्रतिबंधों को विरासत में लेना चाहिए
भेद्यता: प्रतिबंधित खाता नीति को बायपास करके अप्रतिबंधित नए खाते बना सकता है
----------------------------------------
✅ सेवा खाता बनाया गया: newroot
📋 अनधिकृत bucket3 तक पहुंचने के लिए नए सेवा खाते का उपयोग करने का प्रयास
⬆️ अनुमतियों को सत्यापित करने के लिए bucket3 में ऑब्जेक्ट अपलोड करने का प्रयास
⬇️ अनुमतियों को सत्यापित करने के लिए ऑब्जेक्ट सूचीबद्ध करने का प्रयास
ऑब्जेक्ट मिला: test-object
❌ संवेदनशील: प्रतिबंधित खाते ने सफलतापूर्वक नया सेवा खाता बनाया
नए खाते की अनुमतियाँ: अप्रतिबंधित (पूर्ण मूल अनुमतियाँ विरासत में मिलीं)
यह इंगित करता है कि CVE-2025-62506 भेद्यता मौजूद है!
🧹 परीक्षण संसाधनों की सफाई...
----------------------------------------
✅ सेवा खाता हटाया गया: restricted
✅ सेवा खाता हटाया गया: newroot
✅ नीति हटाई गई: restricted-policy
✅ बकेट हटाया गया: bucket1
✅ बकेट हटाया गया: bucket2
✅ बकेट हटाया गया: bucket3
============================================================
📊 सत्यापन परिणाम
============================================================
❌ परिणाम: संवेदनशील - CVE-2025-62506 मौजूद है
💡 अनुशंसा: तुरंत पैच किए गए संस्करण RELEASE.2025-10-15T17-29-55Z या उच्चतर में अपग्रेड करें
🔗 संदर्भ: https://github.com/minio/minio/security/advisories/GHSA-jjjj-jwhf-8rgr
============================================================
🚀 CVE-2025-62506 भेद्यता सत्यापन स्क्रिप्ट
============================================================
📋 स्क्रिप्ट विवरण:
यह स्क्रिप्ट MinIO सेवा खाता विशेषाधिकार वृद्धि भेद्यता (CVE-2025-62506) का परीक्षण करती है
यह भेद्यता प्रतिबंधित सेवा खातों को नए खाते बनाते समय इनलाइन नीतियों को बायपास करने की अनुमति देती है
============================================================
📦 चरण 1: परीक्षण बकेट बनाएं
तीन परीक्षण बकेट बनाना: bucket1, bucket2, bucket3
खाता पहुंच अनुमति प्रतिबंधों का परीक्षण करने के लिए उपयोग किया जाता है
----------------------------------------
✅ बकेट बनाया गया: bucket1
✅ बकेट बनाया गया: bucket2
✅ बकेट बनाया गया: bucket3
🔒 चरण 2: प्रतिबंधित नीति बनाएं
एक नीति बनाना जो केवल bucket1 और bucket2 तक पहुंच की अनुमति देती है
यह नीति प्रतिबंधित सेवा खाते पर लागू की जाएगी
----------------------------------------
✅ नीति बनाई गई: restricted-policy
📋 नीति अनुमतियाँ:
- अनुमत क्रियाएँ: s3:* (सभी S3 संचालन)
- अनुमत संसाधन: bucket1/*, bucket2/*
- अस्वीकृत संसाधन: अन्य सभी बकेट
👤 चरण 3: प्रतिबंधित सेवा खाता बनाएं
उपरोक्त प्रतिबंधित नीति के साथ एक सेवा खाता बनाना
यह खाता केवल bucket1 और bucket2 तक पहुंच सकता है
----------------------------------------
✅ सेवा खाता बनाया गया: restricted
📋 खाता अनुमतियाँ:
- एक्सेस कुंजी: restricted
- नीति: इनलाइन प्रतिबंधित नीति (केवल bucket1 और bucket2)
- अपेक्षित व्यवहार: केवल निर्दिष्ट बकेट तक पहुंच सकता है
🧪 चरण 4: प्रतिबंधित खाता पहुंच का परीक्षण करें
बकेट सूचीबद्ध करने के लिए प्रतिबंधित खाते का उपयोग करना, अनुमतियों की पुष्टि करना
अपेक्षित परिणाम: केवल bucket1 और bucket2 देख सकता है
----------------------------------------
✅ प्रतिबंधित खाता सही ढंग से अनुमत बकेट तक सीमित है
सुलभ बकेट: ['bucket1', 'bucket2']
⚡ चरण 5: विशेषाधिकार वृद्धि का प्रयास करें (भेद्यता परीक्षण)
नया सेवा खाता बनाने का प्रयास करने के लिए प्रतिबंधित खाते का उपयोग करना
बिना निर्दिष्ट नीति वाला नया खाता मूल प्रतिबंधों को विरासत में लेना चाहिए
भेद्यता: प्रतिबंधित खाता नीति को बायपास करके अप्रतिबंधित नए खाते बना सकता है
----------------------------------------
✅ सुरक्षित: प्रतिबंधित खाता नया सेवा खाता बनाने में विफल रहा
त्रुटि: अनुमति सही ढंग से अस्वीकृत की गई
विवरण: एक्सेस अस्वीकृत।
🧹 परीक्षण संसाधनों की सफाई...
----------------------------------------
✅ सेवा खाता हटाया गया: restricted
✅ नीति हटाई गई: restricted-policy
✅ बकेट हटाया गया: bucket1
✅ बकेट हटाया गया: bucket2
✅ बकेट हटाया गया: bucket3
============================================================
📊 सत्यापन परिणाम
============================================================
✅ परिणाम: सुरक्षित - CVE-2025-62506 पैच किया गया है
🎉 आपके MinIO संस्करण में यह भेद्यता पैच की गई है
============================================================
यह सत्यापन स्क्रिप्ट सुरक्षा परीक्षण उद्देश्यों के लिए यथावत प्रदान की गई है।