
CVE-2018-16987 का तकनीकी प्रकटीकरण: Squash TM प्रशासन पैनल में बाहरी सेवा पासवर्ड का स्पष्ट पाठ भंडारण, CVSS 4.1 स्कोरिंग और शोषण विवरण के साथ।
यह एक स्पष्टपाठ संवेदनशील जानकारी भंडारण और संवेदनशील जानकारी उजागर करने की कमजोरी है जो मैंने पैठ परीक्षण के दौरान Squash TM में पाई।
Squash TM परीक्षण मामलों को प्रबंधित करने के लिए उपयोग किया जाने वाला एक वेब इंटरफ़ेस है। प्रोजेक्ट के लिए लिंक
Squash TM कम से कम संस्करण 1.18.0 तक प्रशासन पैनल में बाहरी सेवाओं के पासवर्ड को स्पष्टपाठ रूप में प्रस्तुत करता है, जैसा कि HTML स्रोत कोड में ta-server-password फ़ील्ड द्वारा प्रदर्शित किया गया है।
SquashTM के प्रशासन पैनल में, बाहरी सेवाओं (उर्फ ऑटोमेशन सर्वर) पृष्ठ में सेवा के खाते का स्पष्टपाठ पासवर्ड होता है। ये बाहरी सेवाएँ कुछ भी हो सकती हैं, लेकिन एक लोकप्रिय उदाहरण जेनकिंस सर्वर है।
यहाँ एक उदाहरण URL है: http://localhost:8080/squash/administration/test-automation-servers/1
यहाँ पृष्ठ के स्रोत कोड का एक अंश है:
<label for="ta-server-password">Password</label>
<div id="ta-server-password" class="display-table-cell" style="font-weight: bold;">cleartext_password</div>
ऐसा होने के लिए, इसका अर्थ यह भी है कि बाहरी सेवाओं के पासवर्ड स्पष्टपाठ रूप में संग्रहीत किए जाते हैं, जिसकी पुष्टि मैंने डेटाबेस (H2 और postgresql) के विरुद्ध पासवर्ड को grep करके की।
साथ ही, इस कमजोरी को इस तथ्य से बढ़ावा मिलता है कि एप्लिकेशन डिफ़ॉल्ट हैं:
सुझावित स्कोरिंग: 4.1 (CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:N)
भविष्य के शोधकर्ताओं के लिए केवल एक जानकारी के रूप में, वास्तविक उपयोगकर्ताओं के पासवर्ड SHA1 के रूप में संग्रहीत होते हैं। आदर्श नहीं। मैंने संक्षेप में कोडबेस का ऑडिट किया, ऐसा लगता है कि सभी SQL अनुरोध सही ढंग से बनाए गए हैं (तैयार कथन)। अनफ़िल्टर्ड उपयोगकर्ता इनपुट (GET पैरामीटर) से कुछ डिसीरियलाइज़ेशन (रिपोर्ट जनरेशन और खोज फ़ंक्शन) हैं जो जैक्सन घटक के एक कमजोर संस्करण का उपयोग करते हैं, लेकिन वे शोषण योग्य नहीं लगते क्योंकि कोई बहुरूपी प्रकार हैंडलिंग नहीं है।