CVE-2026-84189
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
LibreNMS do wersji 26.4.0 renderuje pola JSON (name, ip, model, author, commit message) zwracane przez adres URL integracji Oxidized (oxidized.url) konfigurowany przez administratora na stronie showconfig urządzenia bez zastosowania htmlspecialchars(). Administrator, który wskaże adres URL Oxidized na serwer kontrolowany przez atakującego (SSRF), może spowodować zwrócenie złośliwego JSON, co prowadzi do trwałego cross-site scripting (XSS) wpływającego na wszystkich użytkowników przeglądających zakładkę showconfig dowolnego urządzenia. Naprawione w wersji 26.7.0.
Ocena ryzyka
Atakujący może wykonać złośliwy skrypt w przeglądarce wszystkich użytkowników, co może prowadzić do kradzieży sesji, przejęcia konta lub dalszych ataków.
Rekomendacja
Zaktualizuj LibreNMS do wersji 26.7.0 lub nowszej. Ogranicz możliwość konfigurowania adresu URL Oxidized i waliduj dane JSON.
Inne podatności w LibreNMS
Zobacz wszystkie- CVE-2026-86427Wysokie
LibreNMS przed wersją 26.8.0 zawiera podatność na wstrzykiwanie argumentów w parametrze graph_title, która pozwala uwierzytelnionym atakującym na wstrzykiwanie dowolnych argumentów rrdtool poprzez złamanie escapowania podwójnych cudzysłowów. Atakujący mogą wstrzyknąć argumenty DEF i LINE, aby odczytać pliki RRD z nieautoryzowanych urządzeń, lub użyć wstrzyknięcia nowej linii do wykonania dowolnych poleceń rrdtool, omijając kontrolę autoryzacji per urządzenie.
- CVE-2026-84192Wysokie
LibreNMS przed wersją 26.3.1 zawiera podatność na trwałe cross-site scripting (XSS) w starszych szablonach PHP, które wyświetlają dane pochodzące z SNMP i syslog bez odpowiedniego escapowania. Atakujący, który kontroluje monitorowane urządzenie sieciowe, może wstrzyknąć dowolny JavaScript przez opisy interfejsów SNMP lub pola programu syslog, który wykonuje się, gdy uwierzytelnieni użytkownicy przeglądają dotknięte strony.
- CVE-2026-84191Średnie
LibreNMS przed wersją 26.5.0 zawiera podatności na trwały cross-site scripting na stronach wyświetlania VRF, gdzie pola mplsVpnVrfDescription, vrf_name i mplsVpnVrfRouteDistinguisher z odpytywania SNMP są renderowane bez sanityzacji. Atakujący kontrolujący monitorowane urządzenie sieciowe może wstrzyknąć dowolny JavaScript przez odpowiedzi SNMP, który wykona się w przeglądarce każdego użytkownika przeglądającego strony związane z VRF.
- CVE-2026-84190Wysokie
LibreNMS przed wersją 26.5.0 zawiera podatność na zdalne wykonanie kodu w AboutController, gdzie parametr konfiguracyjny snmpget jest przekazywany do shell_exec() bez odpowiedniej walidacji. Uwierzytelniony administrator może zmodyfikować konfigurację snmpget, aby wskazywała na złośliwy plik wykonywalny i wywołać wykonanie kodu, uzyskując dostęp do punktu końcowego /about.
- CVE-2026-86426Krytyczne
LibreNMS przed wersją 26.8.0 zawiera podatność na ominięcie uwierzytelniania w REST API, która pozwala nieuwierzytelnionym atakującym na dostęp do chronionych punktów końcowych poprzez wysyłanie wartości numerycznych zamiast tokenów tekstowych. Atakujący mogą wykorzystać koercję typów w MySQL, wysyłając małe liczby całkowite, takie jak 0-9, aby dopasować hasze tokenów, uzyskując dostęp do funkcji API, w tym do poświadczeń urządzeń i funkcji administracyjnych, które umożliwiają zdalne wykonanie kodu przez szablony alertów.
- CVE-2024-51092Krytyczne
LibreNMS w wersjach przed 24.10.0 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu poprzez wstrzyknięcie poleceń systemowych w metodach index() w AboutController.php, update() w SettingsController.php oraz initRrdDirectory() w PollDevice.php.
- CVE-2026-84194Wysokie
LibreNMS w wersjach >= 23.10.0 i < 26.2.0 (naprawione w 26.4.0) zawiera uwierzytelnioną podatność na wstrzykiwanie poleceń systemu operacyjnego w wykrywaniu libvirt. Gdy obsługa libvirt jest włączona (enable_libvirt=true), nazwa hosta urządzenia ($this->getDevice()->hostname) jest łączona z poleceniami powłoki (ssh, virsh list/dumpxml/domstate) w VminfoLibvirt.php i przekazywana do exec() bez escapeshellarg() lub separacji argumentów. Uwierzytelniony administrator może ustawić spreparowaną nazwę hosta urządzenia, aby wstrzyknąć dowolne polecenia systemu operacyjnego, co prowadzi do zdalnego wykonania kodu w kontekście procesu odkrywania.
- CVE-2026-84193Średnie
LibreNMS do wersji 26.2.0 zawiera podatność na trwały cross-site scripting w starszych stronach szablonów PHP, które renderują niekodowane dane pochodzące z SNMP, takie jak opisy peerów BGP, nazwy VRF, informacje o procesach i tagi SLA. Atakujący z dostępem do zarządzania urządzeniami lub dostępem sieciowym do rejestracji fałszywego urządzenia SNMP mogą wstrzyknąć złośliwy JavaScript, który wykona się, gdy administratorzy przeglądają dotknięte strony routingu i urządzeń, umożliwiając kradzież poświadczeń i eksfiltrację tokenów CSRF.
- CVE-2026-84188Średnie
LibreNMS w wersjach do 26.4.0 zawiera podatność na trwały cross-site scripting w ustawieniach konfiguracyjnych graph_descr.<graphtype>, które są wyświetlane bez kodowania HTML w pliku includes/html/pages/graphs.inc.php. Administrator może zapisać złośliwy ładunek HTML, który wykona się w przeglądarce każdego uwierzytelnionego użytkownika przeglądającego dotknięty typ wykresu. Problem został naprawiony w wersji 26.7.0.
- CVE-2026-55182Wysokie
LibreNMS w wersjach od 21.6.0 do 26.5.0 ma podatność na wstrzyknięcie poleceń w transporcie alertów Signal, ponieważ ścieżka signal-cli i pole Recipient nie są wystarczająco escapowane przed przekazaniem do wywołania exec. Uwierzytelniony administrator może wykonać dowolne polecenia systemu operacyjnego na hoście LibreNMS.
Oryginalny opis (angielski, źródło NVD)
LibreNMS through 26.4.0 renders JSON fields (name, ip, model, author, commit message) returned by the admin-configurable Oxidized integration URL (oxidized.url) into the device showconfig page without applying htmlspecialchars(). An administrator who points the Oxidized URL at an attacker-controlled server (SSRF) can cause it to return malicious JSON, resulting in stored/persistent cross-site scripting affecting all users who view any device's showconfig tab. Fixed in 26.7.0.

