
OPNsense 26.7.6 - उच्च - रिमोट - कॉन्फ़िग लाइन इंजेक्शन - WLAN WPA पहचान
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · opnsense-wlan-wpa-line
वर्ग: कॉन्फ़िग लाइन इंजेक्शन पहुँच: रिमोट
OPNsense core 26.7.6 (a842fe48) - opnsense.org
GHSA-fq94 का अवशेष। वायरलेस SSID को AllowNewlines=N मिला। identity, passphrase, और RADIUS auth_server_shared_secret सादे TextField (डिफ़ॉल्ट रूप से newlines चालू) बने रहे और /var/etc/wpa_supplicant_*.conf तथा /var/etc/hostapd_*.conf में डंप हो गए। interfaces.inc wpa_supplicant स्टैंज़ा में identity="{identity}" को इंटरपोलेट करता है। Newline या quote तोड़ना root के रूप में अतिरिक्त निर्देश जोड़ता है। विशेषाधिकार page-interfaces-wireless-edit है, page-all नहीं।
| ID | अभी तक कोई CVE नहीं |
| वर्ग | कॉन्फ़िग लाइन इंजेक्शन |
| पहुँच | रिमोट (प्रमाणित WebGUI) |
| CWE | CWE-93 |
| CVSS | उच्च: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| उत्पाद | OPNsense core (Deciso B.V.) |
| प्रभावित | OPNsense core 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) Wlan.xml identity / passphrase |
| प्रमाणीकरण | page-interfaces-wireless-edit के साथ WebGUI सत्र |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | केवल 127.0.0.1 |
मैंने टैग 26.7.6 पिन किया। लैब पिन किए गए interfaces_wlan_configure का एक PHP गैजेट है, 127.0.0.1:18840 पर लूपबैक HTTP। Identity CR/LF ने अतिरिक्त # OPNSENSE-WLAN-WPA-LINE-WITNESS लिखा। SSID एक पंक्ति में रहा।
| विधि | सिंक | विशेषाधिकार |
|---|---|---|
| identity CR/LF | wpa_supplicant कॉन्फ़ में interfaces_wlan_configure अतिरिक्त निर्देश पिन करें | अखंडता (लैब-प्रमाणित): identity के बाद अतिरिक्त # OPNSENSE-WLAN-WPA-LINE-WITNESS। लैब: identity-newline=yes extra-directive=yes। |
अतिरिक्त network / ssid / ap_scan / ctrl_interface का पालन | root के रूप में wpa_supplicant / hostapd | अखंडता (अनुमानित): अतिरिक्त डेमन निर्देश। गैजेट में wpa_supplicant प्रारंभ नहीं हुआ। |
| SSID CR/LF | AllowNewlines=N | नकारात्मक (लैब-प्रमाणित): SSID एक पंक्ति में रहा। ssid-control=single-line। |
| passphrase / RADIUS secret CR/LF | hostapd_*.conf / wpa_supplicant | अखंडता (अनुमानित): समान वर्ग। गैजेट ने identity पथ चलाया। |
| अमान्य अतिरिक्त निर्देश | वायरलेस डेमन | उपलब्धता (अनुमानित): hostapd / wpa_supplicant प्रारंभ होने में विफल हो सकते हैं। |
| यह पथ | कोई नहीं | रीकॉन: config.xml रहस्यों का कोई अतिरिक्त पठन नहीं। |
लैब-प्रमाणित बनाम अनुमानित: identity newline अतिरिक्त निर्देश और SSID सिंगल-लाइन नियंत्रण लैब SUCCESS हैं। hostapd और लाइव डेमन अनुप्रयोग अनुमानित हैं।
आवश्यक: page-interfaces-wireless-edit। POST /api/interfaces/wireless_settings/*। page-all नहीं। CSRF टोकन। ब्राउज़र <input type="text"> CR/LF नहीं रखेगा; उस सत्र से सीधा POST रखेगा।
| सतह | लैब |
|---|---|
| SSID newline | प्रतिबंधित (ssid-control=single-line) |
| अनप्रमाणित | बंद |
page-all वायरलेस एडमिन | इच्छित रेडियो कॉन्फ़िग; अवशेष अतिरिक्त निर्देश हैं जो एक प्रत्यायोजित संपादक को बनाने के लिए नहीं थे |
| CVE-2025-50989 bridge span cmdi | अब configdRun बिना अनुरोध टोकन के |
| WEP कुंजियाँ | ifconfig में escapeshellarg |
कोई अनप्रमाणित नहीं। SSID पहले से ही CR/LF अस्वीकार करता है। पूर्ण एडमिन के पास डिज़ाइन से पहले से ही root है।
cd lab
./run.sh
लूपबैक 127.0.0.1:18840। Compose प्रोजेक्ट opnsense-wlan-wpa-line। विटनेस OPNSENSE-WLAN-WPA-LINE-WITNESS। अंतिम पंक्ति:
SUCCESS opnsense-wlan-wpa-line identity-newline=yes extra-directive=yes ssid-control=single-line OPNSENSE-WLAN-WPA-LINE-WITNESS
identity, passphrase, और RADIUS रहस्यों पर AllowNewlines=N सेट करें, जैसे SSID पर। interfaces_wlan_configure के अंदर CR/LF और quotes हटाएँ ताकि हर कॉलर कवर हो। अतिरिक्त hostapd / wpa_supplicant निर्देश page-all के पीछे होने चाहिए।
a842fe48c21288d11a422cb944678e8eb308becfWlan.xmlinterfaces.inc interfaces_wlan_configureAllowNewlines=N