CVE-2026-102608
KrytyczneCVSS 9.0Streszczenie
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.
Ocena ryzyka
Atakujący z odpowiednimi uprawnieniami może wykonać dowolne polecenia jako użytkownik serwera WWW, co może prowadzić do pełnego przejęcia systemu.
Rekomendacja
Zaktualizuj ZoneMinder do wersji 1.38.3 lub nowszej.
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-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-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, downloadEvents() manually wraps a monitor Name value in single quotes instead of using escapeshellarg() before placing it in shell commands when a user with monitor-create or monitor-edit permission stores a monitor Name containing shell metacharacters and a user with Events View permission exports that monitor's events. In this attack mechanism, the stored monitor Name reaches both the ffmpeg concatenation command and the tar or zip archive command and breaks out of manual quoting. Arbitrary commands execute as the web server user. This issue is fixed in version 1.38.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

