CVE-2026-84188
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Wykonanie złośliwego skryptu w przeglądarce uwierzytelnionego użytkownika może prowadzić do kradzieży sesji, przejęcia konta lub nieautoryzowanych działań w systemie.
Rekomendacja
Zaktualizuj LibreNMS do wersji 26.7.0 lub nowszej, która zawiera poprawkę, oraz ogranicz uprawnienia administracyjne tylko do zaufanych osób.
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-84189Wysokie
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.
- 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 versions <= 26.4.0 contain a stored cross-site scripting vulnerability in the graph_descr.<graphtype> configuration settings, which are echoed verbatim without HTML escaping in includes/html/pages/graphs.inc.php. An administrator can store a malicious HTML payload that executes in the browser of any authenticated user who views the affected graph type. The issue is fixed in version 26.7.0.

