
पूर्ण पथ के माध्यम से अप्रमाणित मनमाना फ़ाइल पढ़ना
जबकि Path.resolve() विधि का उपयोग पथ ट्रैवर्सल से बचाव के लिए किया जा रहा है, मैंने पाया है कि निरपेक्ष पथ का उपयोग सफलतापूर्वक आंतरिक फ़ाइलों को पढ़ लेता है, एंडपॉइंट भी प्रमाणित नहीं है, जिसका अर्थ है कि कोई भी व्यक्ति पूरे संगठन की फ़ाइलें, फ़ाइल सिस्टम को जहाँ से भी स्टोर रूट है: files.store.root = /file-store/ जैसा कि application-dev.properties में कॉन्फ़िगर किया गया है, पढ़ सकता है, जो संवेदनशील आंतरिक फ़ाइलों तक अनधिकृत पहुंच की अनुमति देता है।
storageService.loadAsResource() विधि Path.resolve() का उपयोग बिना यह सुनिश्चित किए करती है कि इनपुट नाम एक सापेक्ष पथ है और हल किया गया पथ इच्छित फ़ाइल भंडार रूट के भीतर रहता है, फिर fileName के रूप में एक निरपेक्ष पथ प्रदान करने से सीधे उस मनमानी फ़ाइल तक पहुंच हो जाती है।
इसके अलावा, /api/v1/files/{fileName} एंडपॉइंट बिना किसी प्रमाणीकरण या प्राधिकरण जांच के उजागर होता है, जिससे कोई भी बिना प्रमाणीकृत उपयोगकर्ता फ़ाइलों तक पहुंच सकता है।
उपयोग:
python3 CVE-2025-46822.py http://victim.com /etc/passwd
लिंक: