
pfSense CE 2.9.0-DEVELOPMENT - عالي - عن بُعد - بقايا صلاحيات - معالج uid 0
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-wizard-uid0
الفئة: صلاحية متبقية الوصول: عن بُعد
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
wizard.php?xml=setup_wizard.xml الخطوة 7 getUserEntryByUID(0) بالإضافة إلى local_user_set_password(). الصلاحية MATCH wizard.php* ليس لديها warn-root. البادئة xml= هي realpath تحت /usr/local/www/wizards.
| المعرّف | لا يوجد CVE بعد |
| الفئة | صلاحية متبقية |
| الوصول | عن بُعد (WebGUI موثّق ما لم يُذكر خلاف ذلك) |
| CWE | CWE-269 |
| 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) |
| المصادقة | جلسة WebGUI مع page-pfsensewizardsubsystem |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
قمت بتثبيت master العام 9363ac5. المختبر عبارة عن PHP gadget للـ sink المثبّت، HTTP عبر loopback على 127.0.0.1:19020.
مقال السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| الطريقة | الـ Sink | الصلاحية |
|---|---|---|
| POST wizard.php?xml=setup_wizard.xml الخطوة 7 | getUserEntryByUID(0) local_user_set_password | السلامة: مُثبت مختبريًا: الخطوة 7 أعادت كتابة bcrypt hash الخاص بـ uid 0. ثغرة xml= LFI مغلقة (../etc/passwd والمسار المطلق مرفوضان). |
| نفس الصلاحية المتبقية | نفس الـ sink | الاستطلاع: مُستنتج: نفس المعالج يعيد كتابة WAN/LAN/DHCP/hostname. |
| نفس الصلاحية المتبقية | نفس الـ sink | التوافر: مُستنتج: قفل المشغّل خارج LAN. |
يتطلب: page-pfsensewizardsubsystem. CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root.
يتطلب: page-pfsensewizardsubsystem. CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root. CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحية root.
بادئة realpath الخاصة بـ xml= LFI. page-system-usermanager هو warn-root لنفس الفئة.
لا يوجد Diagnostics: Command ما لم تُمنح تلك الصفحة أيضًا.
cd lab
./run.sh
Loopback 127.0.0.1:19020. مشروع Compose pfsense-wizard-uid0. الشاهد PFSENSE-WIZARD-UID0-WITNESS. Loopback فقط: 127.0.0.1:19020. مشروع Compose pfsense-wizard-uid0. الشاهد PFSENSE-WIZARD-UID0-WITNESS. PHP gadget للأسطر المثبّتة. يتم تفكيك الـ stack بعد التشغيل.
السطر الأخير:
SUCCESS PFSENSE-WIZARD-UID0 lfi-closed=yes control-no-hash-change=yes trigger-uid0-hash-change=yes wizard-no-warn-root=yes usermanager-warn-root=yes PFSENSE-WIZARD-UID0-WITNESS
ضع علامة standard-warning-root على wizard.php، أو أزل كلمة مرور uid 0 من معالج الإعداد بعد أول إقلاع.
9363ac5b8651a1c7a333180425ce7719070f95f9