CVE-2026-102607
WysokieCVSS 8.8Streszczenie
ZoneMinder przed wersją 1.38.3 w funkcji exportEvents() wstawia kontrolowany przez atakującego parametr exportFile do polecenia powłoki bez neutralizacji metaznaków. Uwierzytelniony użytkownik z uprawnieniem View Events lub View Snapshots może przesłać spreparowane żądanie eksportu i wykonać dowolne polecenia systemowe jako użytkownik serwera WWW.
Ocena ryzyka
Atakujący z podstawowymi uprawnieniami do przeglądania zdarzeń może wykonać dowolne polecenia w systemie, co prowadzi do przejęcia serwera i dostępu do danych nadzoru.
Rekomendacja
Zaktualizuj ZoneMinder do wersji 1.38.3, a do czasu aktualizacji ogranicz dostęp do funkcji eksportu zdarzeń wyłącznie do zaufanych użytkowników.
Inne podatności w ZoneMinder
Zobacz wszystkie- CVE-2026-30971Wysokie
ZoneMinder przed wersjami 1.39.2, 1.38.2 i 1.36.40 wstawia niezwalidowane pole Device monitora do poleceń powłoki w ścieżkach kontrolnych PHP i Perl. Uwierzytelniony użytkownik z uprawnieniem do tworzenia lub edycji monitora może zapisać monitor Local z metaznakami powłoki w ścieżce urządzenia, co prowadzi do wykonania dowolnych poleceń jako użytkownik serwera WWW.
- CVE-2016-10206Wysokie
W podatności CVE-2016-10206 w Zoneminder 1.30 i wcześniejszych wersjach występuje luka CSRF, która pozwala zdalnym atakującym na przejęcie uwierzytelnienia użytkowników w celu zmiany haseł oraz potencjalnie innych działań.
- CVE-2016-10205Wysokie
Podatność na oszustwo sesji w Zoneminder 1.30 i wcześniejszych wersjach umożliwia zdalnym atakującym przejęcie sesji internetowych za pomocą ciasteczka ZMSESSID.
- CVE-2017-5368Wysokie
ZoneMinder w wersjach 1.30 i 1.29 jest podatny na atak CSRF, co pozwala zdalnemu napastnikowi na wprowadzenie zmian w aplikacji webowej jako aktualnie zalogowany użytkownik. Atakujący może stworzyć nowego użytkownika admina, co umożliwia dalsze ataki.
- CVE-2026-102608Krytyczne
ZoneMinder to darmowe, otwartoźródłowe oprogramowanie do monitoringu CCTV. W wersjach przed 1.38.3 funkcja downloadEvents() ręcznie otacza wartość Name monitora pojedynczymi cudzysłowami zamiast używać escapeshellarg() przed umieszczeniem jej w poleceniach powłoki, gdy użytkownik z uprawnieniami monitor-create lub monitor-edit zapisze nazwę monitora zawierającą metaznaki powłoki, a użytkownik z uprawnieniem Events View wyeksportuje zdarzenia tego monitora. W tym mechanizmie ataku zapisana nazwa monitora trafia zarówno do polecenia konkatenacji ffmpeg, jak i do polecenia archiwizacji tar lub zip, i wydostaje się z ręcznego cytowania. Dowolne polecenia są wykonywane jako użytkownik serwera WWW.
- CVE-2016-10204Krytyczne
W podatności CVE-2016-10204 występuje luka typu SQL injection w Zoneminder w wersji 1.30 i wcześniejszych, która pozwala zdalnym atakującym na wykonywanie dowolnych poleceń SQL poprzez parametr limit w zapytaniu logu do index.php.
- CVE-2026-104198Średnie
ZoneMinder w wersjach od 1.34.0 do 1.36.38 nieprawidłowo obsługuje nieudane uwierzytelnianie tokenem w pliku web/includes/auth.php. Funkcja validateToken() zwraca false dla tokenu zniekształconego lub z nieprawidłowym podpisem, ale wywołujący przypisuje tę wartość do globalnej zmiennej $user, a ponieważ web/index.php sprawdza isset($user), wartość false jest traktowana jako zalogowany użytkownik i przekierowanie na stronę logowania jest pomijane.
- CVE-2026-102297Średnie
ZoneMinder w wersjach przed 1.38.4 nie stosuje ograniczeń dostępu dla poszczególnych monitorów w punkcie końcowym indeksu FramesController. Uwierzytelnieni użytkownicy z uprawnieniem do przeglądania zdarzeń mogą wywołać API ramek, aby wyświetlić rekordy ramek z monitorów, do których dostęp jest zabroniony, ujawniając metadane zdarzeń i ramek poza granicami monitorów.
- CVE-2026-102296Średnie
ZoneMinder w wersjach przed 1.38.4 zawiera podatności przepełnienia bufora statycznego w funkcji RemoteCameraHttp::GetResponse(), które pozwalają złośliwym kamerom HTTP lub atakującym przechwytującym ruch na przepełnienie buforów o stałym rozmiarze poprzez wysyłanie zbyt dużych nagłówków odpowiedzi. Atakujący mogą wysyłać spreparowane odpowiedzi HTTP z nadmiernie długimi komunikatami statusu, nagłówkami Connection, wartościami Content-Type lub granicami multipart, aby uszkodzić stan parsera i spowodować awarię procesu przechwytywania lub uszkodzenie pamięci.
- CVE-2024-58386Średnie
Wersje ZoneMinder od 1.37.0 do 1.38.0 zawierają podatność path traversal w widoku plików, która pozwala uwierzytelnionym użytkownikom odczytywać dowolne pliki. Parametr path nie jest prawidłowo walidowany przed przekazaniem do output_file, co umożliwia atakującym z uprawnieniem Events view dostęp do wrażliwych plików, takich jak pliki konfiguracyjne zawierające poświadczenia do bazy danych.
Oryginalny opis (angielski, źródło NVD)
ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.38.3, the exportEvents() function concatenates the attacker-controlled exportFile request parameter into a shell command without neutralizing shell metacharacters when an authenticated user with View Events or View Snapshots permission submits an event export request with a crafted exportFile value, a valid CSRF token, and exportDetail enabled. The affected components are exportEvents(), exportFile, web/ajax/event.php, web/skins/classic/includes/export_functions.php. In this attack mechanism, the crafted exportFile value reaches the trailing directory argument of a tar or zip command executed by exec(). The attacker can execute arbitrary operating system commands as the web server user. This issue is fixed in version 1.38.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

