
upsmon: حقن أوامر نظام التشغيل عن بُعد (RCE) عبر ups.alarm المتحكم فيه من قبل المهاجم في تنفيذ NOTIFYCMD
upsmon يدخل القيمة ups.alarm المقدَّمة من الخادم والتي يتحكم فيها المهاجم، دون تعقيم، في أمر صدفي يشغّله عبر system(). عندما يبلغ جهاز خاضع للمراقبة عن حالة ALARM ويكون المشغِّل قد ضبط NOTIFYCMD مع EXEC على حدث ALARM، فإن قيمة ups.alarm التي تحتوي على استبدال أوامر الصدفة ($(...) / backticks على POSIX، أو كسر اقتباس "&…&" على Windows ) تؤدي إلى ، لأن يعمل بصلاحية root لإدارة إيقاف تشغيل النظام.
cmd.exeupsmon — عادةً rootupsmonclients/upsmon.c (notify()، والتوأمان الخاصان بـ WIN32 async_notify() وwall())،
مدفوعًا برسالة NOTIFY_ALARM القياسية في clients/upsmon.h.git master الحالي. غير المتأثّر: ≤ 2.8.2.
تم التأكيد عبر مقارنة الوسمين v2.8.2 وv2.8.3: معالجة ups.alarm → NOTIFY_ALARM
(ups_is_alarm()، وdo_notify(…, NOTIFY_ALARM, …)، وGET الخاصة بـ ups.alarm) أُدخلت في الإصدار 2.8.3
(عبر issue #2657 / PR #2658). تم التحقق من قابلية الاستغلال في الحزم الموزَّعة nut-client 2.8.5
(Fedora 42/43)، و2.8.4 (Fedora 41 / Debian sid / ubuntu:rolling)، و2.8.3 (Ubuntu 25.10)؛ ولم
يتم تفعيلها على 2.8.1 (Debian trixie/stable، Ubuntu 24.04 LTS).يُرجى الرجوع إلى GHSA-mjgp-j4gm-6qg5 لقراءة التقرير الكامل.