
upsmon: दूरस्थ OS कमांड इंजेक्शन (RCE) हमलावर-नियंत्रित ups.alarm के माध्यम से NOTIFYCMD निष्पादन में
upsmon सर्वर द्वारा प्रदान किए गए, हमलावर द्वारा नियंत्रित ups.alarm मान को बिना सैनिटाइज किए, एक शेल कमांड में सम्मिलित करता है जिसे वह system() के माध्यम से चलाता है। जब कोई निगरानी किया जा रहा उपकरण ALARM स्थिति रिपोर्ट करता है और ऑपरेटर ने ALARM घटना पर EXEC के साथ NOTIFYCMD कॉन्फ़िगर किया है, तो एक ups.alarm मान जिसमें शेल कमांड-प्रतिस्थापन ($(...) / POSIX पर बैकटिक्स, या Windows cmd.exe पर "&…&" कोट ब्रेक-आउट) होता है, upsmon उपयोगकर्ता के रूप में — सामान्यतः रूट — मनमाना OS कमांड निष्पादन का परिणाम देता है, क्योंकि upsmon सिस्टम शटडाउन प्रबंधित करने के लिए रूट के रूप में चलता है।
clients/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, …), ups.alarm GET) 2.8.3 में पेश किया गया था
(मुद्दा #2657 / PR #2658 के माध्यम से)। शिप किए गए पैकेजों पर असुरक्षित सत्यापित:
(Fedora 42/43), (Fedora 41 / Debian sid / ubuntu:rolling), (Ubuntu 25.10);
(Debian trixie/stable, Ubuntu 24.04 LTS) पर ट्रिगर नहीं हुआ।कृपया पूरी रिपोर्ट पढ़ने के लिए GHSA-mjgp-j4gm-6qg5 देखें।
https://github.com/user-attachments/assets/a3e76a3f-9be4-4a72-b5e7-3ae9bdcf3de7
nut-client 2.8.52.8.42.8.32.8.1