CVE-2026-46607
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
Glances to narzędzie do monitorowania systemu, które przed wersją 4.5.5 używało funkcji pickle.load() do odczytu pliku cache z wersją. Brak weryfikacji integralności oraz walidacji formatu przed deserializacją umożliwia atakującemu z dostępem do tego pliku wprowadzenie złośliwego pliku pickle, co prowadzi do wykonania dowolnego kodu.
Ocena ryzyka
Atakujący z dostępem do ścieżki pliku może wykorzystać tę podatność do uruchomienia złośliwego kodu jako użytkownik systemu operacyjnego, co stwarza poważne zagrożenie dla bezpieczeństwa systemu.
Rekomendacja
Zaleca się aktualizację Glances do wersji 4.5.5 lub nowszej, aby usunąć tę podatność oraz ograniczenie dostępu do katalogu cache.
Inne podatności w Glances
Zobacz wszystkie- CVE-2026-68520Średnie
Glances przed wersją 4.5.6 ma podatność w funkcji as_dict_secure() w glances/config.py, która sprawdza tylko nazwy opcji i ujawnia public_username oraz poświadczenia osadzone w wartościach public_api przez nieuwierzytelnione żądania GET /api/4/config i GET /api/4/config/ip.
- CVE-2026-68519Wysokie
Glances to narzędzie do monitorowania systemu o otwartym kodzie źródłowym, działające na wielu platformach. Przed wersją 4.5.6 funkcja GlancesActions.run() w glances/actions.py ignoruje opcję --disable-config-exec dla poleceń akcji wyzwalanych alertami i wywołuje secure_popen() z włączonymi operatorami powłoki, co pozwala na wykonanie skonfigurowanego przekierowania, łączenia poleceń lub potoków, gdy alert zostanie wyzwolony. Problem został naprawiony w wersji 4.5.6.
- CVE-2026-62982Wysokie
Glances to narzędzie do monitorowania systemu o otwartym kodzie źródłowym, działające na wielu platformach. Od wersji 4.5.2 do 4.5.6 funkcja _sanitize_mustache_dict() w glances/actions.py pomija zagnieżdżone listy i słowniki, takie jak wartości cmdline procesów, co pozwala znakom potoku przetrwać renderowanie chevron.render() i zostać wykonanym przez secure_popen() poprzez szablony akcji skonfigurowane przez administratora. Problem został naprawiony w wersji 4.5.6.
- CVE-2026-68518Wysokie
Glances przed wersją 4.5.6 ma podatność w _sanitize_mustache_dict() w glances/actions.py, która sanityzuje pojedyncze wartości Mustache przed chevron.render(), ale sąsiednie nieucieczone zmienne Mustache mogą zrekonstruować operatory powłoki, które secure_popen() wykonuje, gdy pola procesu lub kontenera kontrolowane przez atakującego są renderowane przez szablon akcji skonfigurowany przez administratora. Problem naprawiono w wersji 4.5.6.
- CVE-2026-68517Średnie
Glances to narzędzie do monitorowania systemu o otwartym kodzie źródłowym, działające na wielu platformach. Przed wersją 4.5.6 zabezpieczenie cors_origins w glances/outputs/glances_restful_api.py używa dokładnego porównania list zamiast dopasowania symboli wieloznacznych, co pozwala liście z wieloma pochodzeniami zawierającej symbol wieloznaczny na zachowanie cors_credentials i ujawnienie uwierzytelnionych danych API niezaufanej stronie internetowej odwiedzanej przez wcześniej uwierzytelnionego użytkownika. Problem został naprawiony w wersji 4.5.6.
- CVE-2026-53925Wysokie
Glances to narzędzie do monitorowania systemów, które w wersjach od 4.0.8 do 4.5.5 ma lukę w funkcji secure_popen(). Funkcja ta interpretuje operatory przekierowania, potoków i łańcuchów poleceń bez walidacji, co pozwala na wykonanie nieautoryzowanych działań na systemie.
- CVE-2026-35588Średnie
W Glances przed wersją 4.5.4 moduł eksportu Cassandra interpoluje wartości konfiguracyjne keyspace, table i replication_factor bezpośrednio do instrukcji CQL bez walidacji. Użytkownik z prawem zapisu do glances.conf może przekierować wszystkie dane monitoringu do kontrolowanego przez atakującego keyspace Cassandra.
- CVE-2026-35587Wysokie
Glances (open-source narzędzie do monitorowania systemów) przed wersją 4.5.4 zawiera podatność Server-Side Request Forgery (SSRF) w pluginie IP z powodu niewłaściwej walidacji parametru konfiguracyjnego public_api. Wartość public_api jest używana bezpośrednio w wychodzących żądaniach HTTP bez ograniczeń schematu lub walidacji nazwy hosta/IP. Atakujący mogący zmodyfikować konfigurację Glances może wymusić żądania do dowolnych wewnętrznych lub zewnętrznych punktów końcowych, a także spowodować wyciek poświadczeń public_username i public_password w nagłówku Authorization: Basic.
- CVE-2026-34839Średnie
Glances w wersjach przed 4.5.4 udostępnia REST API (/api/4/*) bez uwierzytelniania i z permisywną polityką CORS (Access-Control-Allow-Origin: *). Złośliwa strona internetowa może odczytać wrażliwe informacje systemowe z działającej instancji Glances w przeglądarce ofiary, co prowadzi do wycieku danych cross-origin.
- CVE-2026-33533Średnie
W Glances przed wersją 4.5.3 serwer XML-RPC wysyła nagłówek Access-Control-Allow-Origin: * w każdej odpowiedzi HTTP i nie waliduje nagłówka Content-Type. Złośliwa strona może wysłać żądanie CORS typu simple request z poprawnym ładunkiem XML-RPC i odczytać pełny zestaw danych monitoringu systemu.
Oryginalny opis (angielski, źródło NVD)
Glances is an open-source system cross-platform monitoring tool. Prior to 4.5.5, glances/outdated.py uses pickle.load() to read a version-check cache file stored at a predictable, world-accessible path (~/.cache/glances/glances-version.db or $XDG_CACHE_HOME/glances/glances-version.db). No integrity check, signature verification, or format validation is performed before deserialization. An attacker with write access to that path — through any of several realistic local or container-level scenarios — can plant a malicious pickle file and achieve arbitrary code execution as the OS user running Glances the next time it starts with version checking enabled (the default). This vulnerability is fixed in 4.5.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

