
pfSense CE 2.9.0-DEVELOPMENT - منخفض - عن بُعد - ioctl leftover - VLAN parent not in portlist
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-vlan-parent-ioctl
الفئة: بقايا ioctl الوصول: عن بُعد
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
interfaces_vlan_edit.php يبني $portlist من أجل Form_Select فقط. يتحقق الحفظ من does_interface_exist($_POST['if']) ويستدعي interface_vlan_configure. لا يوجد فحص لعضوية $portlist. يستخدم ifconfig vlan create الدالة escapeshellarg، لذا هذا ليس shell.
| المعرّف | لا يوجد CVE بعد |
| الفئة | بقايا ioctl |
| الوصول | عن بُعد (WebGUI موثّق ما لم يُذكر خلاف ذلك) |
| CWE | CWE-863 |
| CVSS | متوسط: 4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
| المنتج | pfSense CE |
| المتأثر | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| المصادقة | جلسة WebGUI مع page-interfaces-vlan-edit |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
ثبّتُّ الفرع العام master 9363ac5. المختبر عبارة عن PHP gadget للـ sink المثبّت، HTTP عبر loopback على 127.0.0.1:19290.
مقالات السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| الطريقة | الـ Sink | الصلاحية |
|---|---|---|
| POST interfaces_vlan_edit.php if= hidden parent | interface_vlan_configure / pfSense_vlan_create | السلامة: مُثبت مختبريًا: عضو lagg حيّ مخفي عن الواجهة استطاع مع ذلك تنفيذ vlan create vlandev. الأب المفقود ومحارف shell الوصفية مرفوضة. |
| نفس البقايا | نفس الـ sink | الاستطلاع: لا شيء مُبيّن. |
| نفس البقايا | نفس الـ sink | التوافر: مُستنتج: vlan على واجهة kernel أخفتها الواجهة. |
يتطلب: page-interfaces-vlan-edit. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root.
يتطلب: page-interfaces-vlan-edit. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root.
ليس shell. الأب المفقود مرفوض. محارف shell الوصفية مرفوضة.
لا يوجد Diagnostics: Command ما لم تُمنح تلك الصفحة أيضًا.
cd lab
./run.sh
Loopback 127.0.0.1:19290. مشروع Compose pfsense-vlan-parent-ioctl. الشاهد PFSENSE-VLAN-PARENT-IOCTL-WITNESS. Loopback فقط: 127.0.0.1:19290. مشروع Compose pfsense-vlan-parent-ioctl. الشاهد PFSENSE-VLAN-PARENT-IOCTL-WITNESS. PHP gadget للأسطر المثبّتة. تُفكّك الحزمة بعد التشغيل.
السطر الأخير:
SUCCESS PFSENSE-VLAN-PARENT-IOCTL control-portlist=yes reject-missing=yes no-shell=yes trigger-hidden-ioctl=yes PFSENSE-VLAN-PARENT-IOCTL-WITNESS
اشترط أن يكون POST if ضمن $portlist، وليس فقط does_interface_exist.
9363ac5b8651a1c7a333180425ce7719070f95f9