
pfSense CE 2.9.0-DEVELOPMENT - عالية - عن بُعد - RCE - PPPoE ptpid crontab
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-pppoe-cron
الفئة: RCE الوصول: عن بُعد
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
تستخدم handle_pppoe_reset قيمة ptpid المخفية دون is_numericint. التحقق المخصص من الساعة/الدقيقة يستخدم AND حيث كان يحتاج OR. تكتب configure_cron الحقول بشكل خام. شقيق SA-26_06، وليس proxyuser.
| المعرّف | لا يوجد 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) |
| المصادقة | جلسة WebGUI مع page-interfaces-ppps-edit |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
ثبّتُ الفرع العام الرئيسي 9363ac5. المختبر عبارة عن PHP gadget للـ sink المثبّت، مع HTTP عبر loopback على 127.0.0.1:18970.
مقال السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| الطريقة | الـ Sink | الصلاحية |
|---|---|---|
| POST interfaces_ppps_edit.php ptpid / pppoe_resethour | handle_pppoe_reset ثم حقول configure_cron الخام | السلامة: مُثبت مختبريًا: أضاف سطر جديد في ptpid سطرًا إضافيًا في crontab الخاص بالجذر؛ ونفّذه cron الوهمي. |
| نفس البقايا | نفس الـ sink | الاستطلاع: مُستنتج: cron إضافي بصلاحيات الجذر. |
| نفس البقايا | نفس الـ sink | التوافر: مُستنتج: أوامر دورية إضافية. |
يتطلب: page-interfaces-ppps-edit. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات الجذر.
يتطلب: page-interfaces-ppps-edit. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات الجذر. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات الجذر.
SA-26_06 هو crontab الخاص بـ System Proxy. #16128 هو تعقيم عميل PPP.
لا يوجد Diagnostics: Command ما لم تُمنح تلك الصفحة أيضًا.
cd lab
./run.sh
Loopback 127.0.0.1:18970. مشروع Compose pfsense-pppoe-cron. الشاهد PFSENSE-PPPOE-CRON-WITNESS. Loopback فقط: 127.0.0.1:18970. مشروع Compose pfsense-pppoe-cron. الشاهد PFSENSE-PPPOE-CRON-WITNESS. PHP gadget للأسطر المثبّتة. تُفكّك الحزمة بعد التشغيل.
السطر الأخير:
SUCCESS PFSENSE-PPPOE-CRON control-one-line=yes trigger-extra-root-line=yes stub-cron-ran-extra=yes PFSENSE-PPPOE-CRON-WITNESS
is_numericint ptpid. ارفض CR/LF في الساعة/الدقيقة. ضع حقول crontab بين علامات اقتباس.
9363ac5b8651a1c7a333180425ce7719070f95f9