CVE-2026-107336
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Frontowy reverse proxy nginx w Malcolm definiuje lokalizację "Dashboards → Arkime shortcut" używając matchera regex bez rozróżniania wielkości liter, ale przepisania (rewrite) z rozróżnianiem wielkości liter. Żądanie, którego segment ścieżki nie jest dokładnie małymi literami (np. /IDDASH2ARK/...) wchodzi do lokalizacji (matcher działa), ale omija przepisanie (brak przekierowania), więc nginx przechodzi do proxy_pass lokalizacji do backendu Arkime. Ta lokalizacja jest jedyną proxowaną lokalizacją w dostarczonej konfiguracji, która nie zawiera pliku uwierzytelniania per lokalizacja, więc żądanie dociera do Arkime bez uwierzytelnienia. Ta sama lokalizacja przekazuje również nagłówek X-Forwarded-User dostarczony przez klienta bez nadpisania, a Arkime jest skonfigurowany, aby ufać X-Forwarded-User jako nazwie uwierzytelnionego użytkownika — więc nieuwierzytelniony wywołujący z sieci może dotrzeć do backendu Arkime, podając podrobioną, automatycznie utworzoną tożsamość.
Ocena ryzyka
Nieautoryzowany dostęp do backendu Arkime z podrobioną tożsamością, co może prowadzić do naruszenia poufności danych i manipulacji przechwytywanym ruchem.
Rekomendacja
Popraw konfigurację nginx, aby przepisanie było spójne z matcherem (case-insensitive) lub dodaj uwierzytelnianie do tej lokalizacji. Upewnij się, że nagłówek X-Forwarded-User jest nadpisywany lub weryfikowany.
Inne podatności w Malcolm
Zobacz wszystkie- CVE-2026-107361Średnie
Usługa Arkime live capture (arkime-live) w Malcolm działa z network_mode: host, wystawiając port 8005 na wszystkich interfejsach sieciowych (viewHost=0.0.0.0). Arkime ufa nagłówkowi X-Forwarded-User z dowolnego adresu IP (userAuthIps=::,0.0.0.0/0) i automatycznie tworzy użytkowników z pełnym dostępem. passwordSecret jest zaszyty na stałe do publicznej wartości "Malcolm". Atakujący w sieci może ominąć nginx całkowicie, łącząc się bezpośrednio z portem 8005 z podrobionym nagłówkiem tożsamości.
- CVE-2026-107335Średnie
Potok przetwarzania uploadów w Malcolm (scripts/safe-extract.py) egzekwuje limity liczby wpisów, głębokości zagnieżdżenia i całkowitego rozmiaru nieskompresowanego podczas rozpakowywania archiwów kontenerowych (zip/tar/rar/7z przez libarchive), ale te limity nie są stosowane, gdy przesłany plik jest pojedynczym strumieniem skompresowanym (.gz, .bz2, .xz, .lzma, .lz), który nie jest archiwum .tar.*. Każdy uwierzytelniony użytkownik uprawniony do przesyłania plików PCAP/log może przesłać mały, wysoko kompresowalny plik (np. bombę gzip), który dekompresuje się do praktycznie nieograniczonego rozmiaru na dysku, wyczerpując współdzielony wolumen Docker używany przez OpenSearch, Logstash, Arkime i Zeek, i zakłócając platformę dla wszystkich użytkowników.
- CVE-2026-107334Średnie
Warstwa kontroli dostępu oparta na rolach (RBAC) nginx Lua w Malcolm decyduje, czy uwierzytelniony użytkownik może uzyskać dostęp do ścieżki ograniczonej rolą (np. /htadmin, /auth, /admin_login, /arkime/api/esadmin, NetBox, punkty uploadu) przez dopasowanie wzorca do surowego, percent-encoded URI żądania. Sam nginx wybiera jednak, która lokalizacja faktycznie obsługuje żądanie, używając zdekodowanego, znormalizowanego URI. Ponieważ kontrola RBAC nigdy nie dekoduje percent-encoding, uwierzytelniony użytkownik z niskimi uprawnieniami może zażądać ścieżki admin-only używając percent-encoding (np. /%68tadmin.php) i nginx przekieruje go do ograniczonej lokalizacji, podczas gdy brama Lua RBAC oceniająca nieodkodowany surowy string nie znajdzie żadnego ograniczenia i przyzna dostęp.
- CVE-2026-19671Średnie
Malcolm's upload-processing pipeline (scripts/safe-extract.py) egzekwuje limity liczby wpisów, głębokości zagnieżdżenia i całkowitego rozmiaru przy rozpakowywaniu archiwów kontenerowych (zip/tar/rar/7z), ale nie stosuje tych limitów do pojedynczych strumieni skompresowanych (.gz, .bz2, .xz, .lzma, .lz). Uwierzytelniony użytkownik może przesłać mały, wysoko skompresowany plik (np. bombę gzip), który dekompresuje się do nieograniczonego rozmiaru, wyczerpując współdzielony wolumin Docker i zakłócając działanie platformy.
- CVE-2026-19670Średnie
Malcolm's nginx Lua warstwa kontroli dostępu oparta na rolach (RBAC) decyduje o dostępie do ścieżek ograniczonych rolą, dopasowując wzorce do surowego, percent-encoded URI. Nginx jednak wybiera blok location na podstawie zdekodowanego, znormalizowanego URI. Ponieważ kontrola RBAC nie dekoduje percent-encoding, uwierzytelniony użytkownik z niskimi uprawnieniami może uzyskać dostęp do ścieżek administracyjnych, używając percent-encoded URI, omijając ograniczenia.
- CVE-2026-63177Wysokie
Malcolm to zestaw narzędzi do analizy ruchu sieciowego. Przed wersją 26.07.0 kontrola dostępu oparta na rolach w warstwie Nginx OpenResty Lua ocenia surowy, nieznormalizowany `ngx.var.request_uri`, podczas gdy sam Nginx kieruje żądania przy użyciu znormalizowanej ścieżki. Uwierzytelniony użytkownik o niskich uprawnieniach może dodać segment traversal (na przykład `/x/../upload/...`), tak że Nginx kieruje żądanie do ograniczonego backendu, podczas gdy kontrola roli Lua nie dopasowuje żadnej reguły i otwiera się, przyznając dostęp, który powinien być zabroniony. Wersja 26.07.0 naprawia ten problem.
- CVE-2026-63134Średnie
Malcolm to zestaw narzędzi do analizy ruchu sieciowego. Przed wersją 26.07.0, `safe-extract.py` chroni ekstrakcję plików flagami bezpieczeństwa libarchive, ale tworzy wpisy katalogów za pomocą surowego `os.makedirs(os.path.join(dest, entry.pathname))`, które nie ma ochrony przed traversal. Złośliwe archiwum zawierające wpis katalogu z sekwencją `../` lub ścieżką bezwzględną powoduje, że kontener przetwarzania filebeat tworzy katalogi poza zamierzonym katalogiem ekstrakcji. Wersja 26.07.0 naprawia problem.
- CVE-2026-63133Średnie
Malcolm to zestaw narzędzi do analizy ruchu sieciowego. Przed wersją 26.07.0, `safe-extract.py` wyodrębnia przesłane archiwa bez limitu liczby wpisów, głębokości katalogów, całkowitej liczby wpisów lub rozmiaru wyjścia. Małe złośliwe archiwum zawierające dużą liczbę wpisów katalogów lub plików powoduje, że kontener przetwarzania filebeat tworzy nieograniczoną liczbę obiektów systemu plików, wyczerpując inody lub metadane systemu plików i powodując odmowę usługi dla potoku przetwarzania i wszelkich usług współdzielących ten sam montaż. Wersja 26.07.0 naprawia problem.
- CVE-2026-55676Wysokie
Malcolm, narzędzie do analizy ruchu sieciowego, zawiera podatność w komponencie przesyłania plików (FilePond PHP backend). Lista dozwolonych typów plików jest domyślnie pusta, więc akceptowane są wszystkie rozszerzenia, a nazwy plików zachowują rozszerzenie .php. Uwierzytelniony użytkownik z rolą ROLE_UPLOAD może przesłać plik PHP i wykonać go jako www-data.
Oryginalny opis (angielski, źródło NVD)
Malcolm's front nginx reverse proxy defines a "Dashboards → Arkime shortcut" location using a case-insensitive regex matcher but a case-sensitive rewrite. A request whose path segment is not exact-lowercase (for example /IDDASH2ARK/...) enters the location (the matcher fires) but evades the rewrite (no redirect is issued), so nginx falls through to the location's proxy_pass to the Arkime backend. That location is the one proxied location in the shipped config that does not include the per-location authentication file, so the request reaches Arkime unauthenticated. The same location also forwards a client-supplied X-Forwarded-User header un-overwritten, and Arkime is configured to trust X-Forwarded-User as the authenticated username — so an unauthenticated network caller can reach the Arkime backend while supplying a forged, auto-provisioned identity.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

