CVE-2025-55854 - संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता
भेद्यता अवलोकन
CVE ID: CVE-2025-55854
भेद्यता प्रकार: संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)
गंभीरता: उच्च
प्रभावित घटक: उपयोगकर्ता प्रोफ़ाइल बायो फ़ील्ड
प्रभावित एप्लिकेशन: FreelanceHub (https://github.com/nooncarlett/FreelanceHub)
विवरण
FreelanceHub एप्लिकेशन की उपयोगकर्ता प्रोफ़ाइल कार्यक्षमता में एक संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता खोजी गई है। यह भेद्यता बायो फ़ील्ड में अपर्याप्त इनपुट सैनिटाइज़ेशन के कारण मौजूद है, जिससे हमलावर दुर्भावनापूर्ण JavaScript कोड इंजेक्ट कर सकते हैं जो अन्य उपयोगकर्ताओं द्वारा प्रभावित प्रोफ़ाइल पृष्ठ देखने पर निष्पादित होता है।
यह भेद्यता एक हमलावर को सक्षम बनाती है:
- अन्य उपयोगकर्ताओं के ब्राउज़र के संदर्भ में मनमाना JavaScript निष्पादित करना
- सत्र टोकन और कुकीज़ चुराना
- प्रमाणित उपयोगकर्ताओं की ओर से कार्य करना
- उपयोगकर्ताओं को दुर्भावनापूर्ण वेबसाइटों पर पुनर्निर्देशित करना
- एप्लिकेशन इंटरफ़ेस को विकृत करना
प्रभावित संस्करण
- FreelanceHub (पैच से पहले के सभी संस्करण)
- परीक्षण किया गया: पोर्ट 8080 पर चलने वाली localhost तैनाती
तकनीकी विवरण
मूल कारण
एप्लिकेशन डेटाबेस में संग्रहीत करने और प्रोफ़ाइल पृष्ठ पर प्रस्तुत करने से पहले बायो फ़ील्ड में उपयोगकर्ता इनपुट को ठीक से सैनिटाइज़ करने में विफल रहता है। HTML को विशेष वर्णों को एस्केप किए बिना या खतरनाक टैग और इवेंट हैंडलर को हटाए बिना सीधे प्रस्तुत किया जाता है।
हमला वेक्टर
- हमला प्रकार: संग्रहीत XSS
- इनपुट वेक्टर: उपयोगकर्ता प्रोफ़ाइल बायो फ़ील्ड
- निष्पादन संदर्भ: हमलावर की प्रोफ़ाइल देखने वाला कोई भी उपयोगकर्ता
- प्रमाणीकरण आवश्यक: हाँ (हमलावर को एक वैध खाते की आवश्यकता है)
प्रमाण की अवधारणा
पूर्वापेक्षाएँ
- FreelanceHub एप्लिकेशन का चालू उदाहरण
- वेब ब्राउज़र (Chrome, Firefox, Edge, आदि)
- उपयोगकर्ता खाता बनाने की पहुँच
चरण-दर-चरण पुनरुत्पादन
चरण 1: एक नया खाता बनाएँ
http://localhost:8080/auth पर नेविगेट करें
- मान्य क्रेडेंशियल का उपयोग करके एक नए उपयोगकर्ता खाते के लिए साइन अप करें
- पंजीकरण प्रक्रिया पूरी करें और लॉग इन करें

चरण 2: प्रोफ़ाइल पृष्ठ पर नेविगेट करें
- सफल लॉगिन के बाद,
http://localhost:8080/profile पर नेविगेट करें
- प्रोफ़ाइल संपादन फ़ॉर्म में बायो फ़ील्ड का पता लगाएँ
चरण 3: XSS पेलोड इंजेक्ट करें
- बायो फ़ील्ड में, निम्नलिखित पेलोड दर्ज करें:
चरण 4: फ़ॉर्म सबमिट करें
- सहेजें या प्रोफ़ाइल अपडेट करें बटन पर क्लिक करें
- प्रोफ़ाइल अपडेट होने की पुष्टि की प्रतीक्षा करें
चरण 5: XSS ट्रिगर करें
- प्रोफ़ाइल पृष्ठ पर जाएँ या पुनः लोड करें:
http://localhost:8080/profile
- JavaScript अलर्ट बॉक्स स्वचालित रूप से निष्पादित होगा
- परिणाम: JavaScript कोड सफलतापूर्वक निष्पादित होता है, जो संग्रहीत XSS भेद्यता की पुष्टि करता है
अपेक्षित व्यवहार
एप्लिकेशन को इनपुट को सैनिटाइज़ करना चाहिए और या तो:
- बायो फ़ील्ड से सभी HTML टैग हटा दें
- विशेष वर्णों को एन्कोड करें (
<, >, ", ', आदि)
- सामग्री सुरक्षा नीति (CSP) हेडर लागू करें
वास्तविक व्यवहार
दुर्भावनापूर्ण HTML/JavaScript पेलोड डेटाबेस में संग्रहीत किया जाता है और प्रोफ़ाइल पृष्ठ प्रस्तुत होने पर बिना किसी सैनिटाइज़ेशन या एन्कोडिंग के निष्पादित होता है।
प्रभाव आकलन
गंभीरता: उच्च
CVSS v3.1 स्कोर: 8.1 (उच्च)
वेक्टर स्ट्रिंग: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
वास्तविक-विश्व प्रभाव
- सत्र अपहरण: हमलावर सत्र टोकन चुरा सकते हैं और उपयोगकर्ताओं के रूप में प्रतिरूपण कर सकते हैं
- क्रेडेंशियल चोरी: दुर्भावनापूर्ण स्क्रिप्ट क्रेडेंशियल कैप्चर करने के लिए नकली लॉगिन फ़ॉर्म बना सकती हैं
- डेटा बहिर्गमन: संवेदनशील उपयोगकर्ता डेटा हमलावर-नियंत्रित सर्वरों को भेजा जा सकता है
- मैलवेयर वितरण: उपयोगकर्ताओं को दुर्भावनापूर्ण वेबसाइटों पर पुनर्निर्देशित किया जा सकता है
- फ़िशिंग हमले: विश्वसनीय डोमेन का उपयोग ठोस फ़िशिंग सामग्री होस्ट करने के लिए किया जा सकता है
- खाता अधिग्रहण: अन्य भेद्यताओं के साथ संयुक्त होने पर, यह पूर्ण खाता समझौता कर सकता है