
pfSense CE 2.9.0-DEVELOPMENT - उच्च - रिमोट - RCE - PPPoE mpd.secret bang
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-pppoe-secret-bang
वर्ग: RCE पहुँच: रिमोट
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
उपयोगकर्ता नाम charset CR/LF की अनुमति देता है। पासवर्ड ! strip (#10275) केवल पासवर्ड से आगे का ! ltrim करता है। mpd ! को रूट के रूप में बाहरी पासवर्ड हेल्पर के रूप में चलाता है। सीधा POST newlines रखता है; ब्राउज़र type=text उन्हें हटा देता है।
| ID | अभी तक कोई CVE नहीं |
| वर्ग | RCE |
| पहुँच | रिमोट (जब तक उल्लेख न हो, प्रमाणित WebGUI) |
| CWE | CWE-78 |
| CVSS | उच्च: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| उत्पाद | pfSense CE |
| प्रभावित | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| प्रमाणीकरण | page-services-pppoeserver-edit के साथ WebGUI सत्र |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | केवल 127.0.0.1 |
मैंने सार्वजनिक master 9363ac5 को पिन किया। लैब पिन किए गए sink का एक PHP gadget है, 127.0.0.1:18980 पर लूपबैक HTTP।
श्रृंखला लेख: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| विधि | Sink | विशेषाधिकार |
|---|---|---|
| CR/LF के साथ POST services_pppoe_edit.php उपयोगकर्ता नाम | vpn_pppoe_updatesecret mpd.secret ! helper | Integrity: लैब-प्रमाणित: उपयोगकर्ता नाम newline प्लस ! helper लाइन; stub PAP/CHAP ने helper चलाया और witness लिखा। पासवर्ड ! GUI अस्वीकृत। |
| वही leftover | वही sink | Recon: अनुमानित: helper stdout अप्रयुक्त। |
| वही leftover | वही sink | Availability: कोई नहीं दिखाया गया। |
आवश्यक: page-services-pppoeserver-edit। जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM रूट है।
आवश्यक: page-services-pppoeserver-edit। जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM रूट है। जब तक उल्लेख न हो, POST पर CSRF-magic। WebGUI PHP-FPM रूट है।
पासवर्ड ! GUI प्लस ltrim। L2TP उपयोगकर्ता नाम charset। ब्राउज़र newline strip।
कोई Diagnostics: Command नहीं, जब तक वह पृष्ठ भी अनुदत्त न हो।
cd lab
./run.sh
लूपबैक 127.0.0.1:18980। Compose प्रोजेक्ट pfsense-pppoe-secret-bang। Witness PFSENSE-PPPOE-SECRET-BANG-WITNESS। केवल लूपबैक: 127.0.0.1:18980। Compose प्रोजेक्ट pfsense-pppoe-secret-bang। Witness PFSENSE-PPPOE-SECRET-BANG-WITNESS। पिन की गई लाइनों का PHP gadget। रन के बाद स्टैक टूट जाता है।
अंतिम पंक्ति:
SUCCESS PFSENSE-PPPOE-SECRET-BANG control-one-line=yes control-no-helper=yes password-bang-strip=yes trigger-helper=yes PFSENSE-PPPOE-SECRET-BANG-WITNESS
PPPoE उपयोगकर्ता नामों में CR/LF अस्वीकार करें। L2TP जैसा ही charset लागू करें।
9363ac5b8651a1c7a333180425ce7719070f95f9