CVE-2026-30971
WysokieCVSS 8.8Streszczenie
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.
Ocena ryzyka
Atakujący z uprawnieniami do zarządzania monitorami może wykonać dowolne polecenia systemowe na serwerze, co może doprowadzić do pełnego przejęcia hosta i dostępu do nagrań z kamer.
Rekomendacja
Zaktualizuj ZoneMinder do wersji 1.39.2, 1.38.2 lub 1.36.40, a w międzyczasie ogranicz uprawnienia do tworzenia i edycji monitorów wyłącznie do zaufanych administratorów.
Inne podatności w ZoneMinder
Zobacz wszystkie- CVE-2026-102607Wysokie
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.
- 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.39.2, 1.38.2, and 1.36.40, ZoneMinder interpolates an unvalidated monitor Device field into shell commands in PHP and Perl control paths when an authenticated user with monitor-create or monitor-edit permission saves a Local monitor whose Device Path contains shell metacharacters and the monitor control or startup path runs. In this attack mechanism, the stored Device value reaches Perl qx() and backtick execution before zmdc.pl argument detainting, while separate PHP command paths use bypassable escapeshellcmd defenses. The attacker can execute arbitrary commands as the web server user. This vulnerability is fixed in 1.39.2, 1.38.2, and 1.36.40.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

