
Bacula-Web के jobfiles एंडपॉइंट में समय-आधारित ब्लाइंड SQL इंजेक्शन के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, PostgreSQL संस्करण को दूरस्थ रूप से निकालने के लिए pg_sleep() विलंब का उपयोग करता है।
भेद्यता शीर्षक: Bacula-Web में समय-आधारित ब्लाइंड SQL इंजेक्शन
उत्पाद: Bacula-Web
प्रभावित संस्करण: PostgreSQL बैकएंड का समर्थन करने वाले संस्करणों में पुष्टि की गई
CVE ID: CVE-2025-45346
गंभीरता: उच्च
आक्रमण वेक्टर: दूरस्थ
प्रभाव: मनमाना SQL निष्पादन, सूचना प्रकटीकरण
यह प्रूफ-ऑफ-कॉन्सेप्ट (PoC) Bacula-Web के jobfiles एंडपॉइंट में एक समय-आधारित ब्लाइंड SQL इंजेक्शन भेद्यता प्रदर्शित करता है।
एक दूरस्थ हमलावर इस दोष का उपयोग करके अंतर्निहित PostgreSQL डेटाबेस से जानकारी निकाल सकता है — जिसमें डेटाबेस संस्करण भी शामिल है — pg_sleep() फ़ंक्शन का उपयोग करके जानबूझकर विलंब ट्रिगर करके।
requests लाइब्रेरी (pip install requests)स्क्रिप्ट संपादित करें और सेट करें:
base_url = "http://baculaweb.domain/jobfiles/29/1/"
cookies = {"Bacula-Web": "REPLACEME"}
बदलें:
base_url को अपने Bacula-Web लक्ष्य URL सेREPLACEME को अपने वैध Bacula-Web सत्र कुकी सेpython3 extract_pgsql_version.py
pg_sleep(2) के साथ एक हानिरहित SQL पेलोड भेजता है।SUBSTRING() का उपयोग करके PostgreSQL संस्करण स्ट्रिंग में पदों के माध्यम से लूप करता है और एक-एक करके वर्णों की तुलना करता है।jobfiles रूट पर इनपुट सत्यापन लागू करेंसुरक्षा शोधकर्ता – Kevin Suckiel -- 0xsu3ks
CVE-2025-45346 के लिए PoC जिम्मेदार प्रकटीकरण के माध्यम से प्रकट किया गया।
यह उपकरण केवल अधिकृत परीक्षण और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।
लेखक इस PoC के किसी भी अनधिकृत उपयोग या दुरुपयोग के लिए जिम्मेदार नहीं है।