
OPNsense 26.7.6 - عالية - عن بُعد - حقن سطر التكوين - NTP GPS fudge
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · opnsense-ntp-gps-fudge
الفئة: حقن سطر الإعدادات الوصول: عن بُعد
نواة OPNsense 26.7.6 (a842fe48) - opnsense.org
بقايا GHSA-fq94. لا تزال fudge1 / fudge2 / refid الخاصة بـ GPS/PPS تُدمج في /var/etc/ntpd.conf بعد إزالة مضيفي خادم الوقت. مسار الكتابة فوق CVE-2026-53581 مُدرج في القائمة المسموحة (^cua[a-z0-9.,{}]+$ بالإضافة إلى جهاز أحرف). صفحة NTP العامة تعامل بالفعل النص الإضافي في ntpd.conf كتصعيد (userIsAdmin). قوائم ACL الخاصة بـ GPS/PPS منفصلة. حفظ configd_run('service restart ntpd'). يعمل ntpd كـ root بدون -u.
| المعرّف | لا يوجد CVE بعد |
| الفئة | حقن سطر الإعدادات |
| الوصول | عن بُعد (WebGUI مُصادَق عليه) |
| CWE | CWE-93 / CWE-74 |
| CVSS | مرتفع: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| المنتج | نواة OPNsense (Deciso B.V.) |
| المتأثر | نواة OPNsense 26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) NTP GPS/PPS fudge |
| المصادقة | جلسة WebGUI مع page-services-ntp-gps و/أو page-services-ntp-pps |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
ثبّتُ الوسم 26.7.6. المختبر عبارة عن أداة PHP من ntpd_configure_do المثبّتة، بهوية loopback 127.0.0.1:18830. كتب CR/LF في GPS fudge سطر logfile إضافيًا. انهار CR/LF في مضيف خادم الوقت إلى رمز واحد.
| الطريقة | المخرج | الصلاحية |
|---|---|---|
GPS fudge1 CR/LF | تثبيت ntpd_configure_do سطر logfile /oracle/OPNSENSE-NTP-GPS-FUDGE-WITNESS إضافيًا بعد fudge 127.127.20.0 | السلامة (مُثبت مختبريًا): سطر إضافي في ntpd.conf. المختبر: fudge-newline=yes. |
احترام includefile / driftfile / statsdir | ntpd كـ root، بدون -u | السلامة (مُستنتج): سياسة ntpd إضافية / كتابة ملف في مسار قابل للكتابة بواسطة ntpd. لم يُشغَّل ntpd في الأداة. |
| مضيف خادم الوقت CR/LF | إزالة ntpd.inc:327-329 | سلبي (مُثبت مختبريًا): انهار خادم الوقت إلى رمز واحد. timeserver-stripped=yes. |
PPS fudge1 / refid CR/LF | كتلة PPS fudge 127.127.22.0 | السلامة (مُستنتج): نفس الفئة. شغّلت الأداة مسار GPS. |
| توجيه إضافي غير صالح | بدء ntpd | التوافر (مُستنتج): قد يفشل ntpd في البدء. |
| هذا المسار | لا شيء | استطلاع: لا قراءة إضافية لأسرار config.xml. |
مُثبت مختبريًا مقابل مُستنتج: سطر جديد في GPS fudge وإزالة خادم الوقت هما نجاح مختبري. نظير PPS وntpd الحيّ كـ root مُستنتجان.
يتطلب: page-services-ntp-gps (المختبر) و/أو page-services-ntp-pps. ليس page-all. عقدة أحرف حيّة /dev/cua* حتى تُرجع configure_gps/pps القيمة true. NTP مُفعّل. رمز CSRF. لن يحتفظ <input type="text"> في المتصفح بـ CR/LF؛ لكن POST مباشر من تلك الجلسة سيفعل.
| السطح | المختبر |
|---|---|
| الكتابة فوق المسار التعسفي CVE-2026-53581 | لم يعد ../ يغادر /dev/ (gps-char=char) |
| GHSA-h793 GPS XSS | لا سلسلة إلى هذه البقايا |
| مضيف خادم الوقت CR/LF | مُزال (timeserver-stripped=yes) |
custom_options في صفحة NTP العامة | page-all / userIsAdmin فقط |
| غير مُصادَق | مغلق |
لا يوجد غير مُصادَق. لا كتابة فوق مسار 53581. مضيفو خادم الوقت حصلوا بالفعل على الإزالة.
cd lab
./run.sh
Loopback 127.0.0.1:18830. مشروع Compose opnsense-ntp-gps-fudge. الشاهد OPNSENSE-NTP-GPS-FUDGE-WITNESS. السطر الأخير:
SUCCESS opnsense-ntp-gps-fudge fudge-newline=yes timeserver-stripped=yes OPNSENSE-NTP-GPS-FUDGE-WITNESS
أزل CR/LF (وعامل علامات الاقتباس) في GPS/PPS fudge1 / fudge2 / refid بنفس الطريقة التي تتعامل بها مضيفو خادم الوقت بالفعل عند ntpd.inc:327-329. أو قيّد تلك الحقول بفئة رقمية / رمزية. أبقِ النص الإضافي في ntpd.conf خلف userIsAdmin.
a842fe48c21288d11a422cb944678e8eb308becfntpd.inc ntpd_configure_doservices_ntpd_gps.php