CVE-2026-57856
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
W Cockpit CMS wykryto podatność typu path traversal w API przechowywania plików Bucket (/system/buckets/api). Funkcja api() w pliku modules/System/Controller/Buckets.php oczyszcza nazwę bucketa za pomocą preg_replace('/[^a-zA-Z0-9-_\.]/','', $bucket), co pozwala na pozostawienie sekwencji '..' i '../'. Oczyszczona wartość jest interpolowana do ścieżki Flysystem jako uploads://buckets/{bucket}, a normalizator WhitespacePathNormalizer rozwiązuje 'buckets/..' do pustego łańcucha (katalog główny uploads) bez zgłaszania PathTraversalDetected, ponieważ '..' ma poprzedzający komponent do skonsumowania.
Ocena ryzyka
Uwierzytelniony użytkownik o niskich uprawnieniach może wysłać spreparowane żądanie z nazwą bucketa zawierającą '../', aby wyświetlić, przesłać i usunąć pliki we wszystkich bucketach, w tym należących do innych użytkowników lub ról, co prowadzi do nieautoryzowanego dostępu do danych.
Rekomendacja
Należy natychmiast zaktualizować Cockpit CMS do wersji, która zawiera poprawkę usuwającą tę podatność, lub zastosować tymczasowe obejście polegające na dodatkowym filtrowaniu nazw bucketów w celu zablokowania sekwencji '../'.
Inne podatności w Cockpit CMS
Zobacz wszystkie- CVE-2026-82449Średnie
Cockpit CMS przed wersją 2.14.1 zawiera podatność na enumerację kont w endpointcie sprawdzania uwierzytelnienia z powodu różnic czasowych w weryfikacji hasła. Atakujący mogą mierzyć czasy odpowiedzi w wielu żądaniach, aby określić, które konta istnieją, obserwując, że istniejące konta wyzwalają weryfikację bcrypt, podczas gdy nieistniejące konta zwracają odpowiedź natychmiast.
- CVE-2026-72557Wysokie
Podatność nieograniczonego przesyłania plików w Cockpit CMS 2.6.0 pozwala uwierzytelnionym użytkownikom na przesyłanie plików o dowolnym rozszerzeniu, w tym skryptów PHP, przez endpoint przesyłania zasobów. Konfiguracja allowed_uploads domyślnie używa wildcarda, a pliki są przechowywane w katalogu dostępnym z sieci.
- CVE-2026-39275Średnie
Podatność Cross Site Scripting (XSS) w Cockpit CMS w wersji 2.13.5 i wcześniejszych umożliwia zdalnemu atakującemu wykonanie dowolnego kodu w przeglądarce ofiary poprzez komponenty item.php, field-select.js i tags.js.
- CVE-2026-73680Wysokie
Cockpit CMS 2.14.0 i wcześniejsze zawiera podatność na wstrzykiwanie poleceń w integracji z FFmpeg, która pozwala uwierzytelnionym użytkownikom z uprawnieniem tylko do przesyłania zasobów (assets/upload) na wykonanie dowolnych poleceń poprzez przesłanie pliku wideo z nazwą zawierającą metaznaki powłoki. Niesanityzowana nazwa pliku jest interpolowana do polecenia powłoki wykonywanego przez Process::fromShellCommandline() przed uruchomieniem sanityzatora slugify(), umożliwiając wstrzykniętym metaznakom powłoki, takim jak backticks, $() i średniki, wydostanie się z kontekstu polecenia FFmpeg i wykonanie jako użytkownik serwera WWW.
- CVE-2026-57855Wysokie
W Cockpit CMS wykryto brak autoryzacji w API przechowywania plików Bucket (/system/buckets/api). Metoda api() w pliku modules/System/Controller/Buckets.php wykonuje polecenia na zasobnikach (ls, upload, removefiles, rename, createfolder) bez sprawdzania ACL lub roli użytkownika. Każdy uwierzytelniony użytkownik, niezależnie od roli, może wykonywać wszystkie operacje na dowolnym zasobniku, w tym przeznaczonym wyłącznie dla administratorów.
- CVE-2026-58467Wysokie
Cockpit CMS do wersji 2.14.0 zawiera podatność na path traversal i lokalne dołączanie plików (LFI). Nieuwierzytelniony atakujący może odczytać dowolne pliki lub wykonać kod PHP, wykorzystując niesprawdzoną ścieżkę PATH_INFO z REQUEST_URI przy konstrukcji ścieżki systemowej.
- CVE-2026-13533Średnie
W Cockpit CMS do wersji 0.12.2 wykryto podatność w funkcji Spyc::YAMLLoad pliku /config/config.yaml komponentu htaccess Handler. Manipulacja ta prowadzi do nieautoryzowanego dostępu do plików lub katalogów. Atak może być przeprowadzony zdalnie, a exploit został publicznie ujawniony.
- CVE-2026-23695Średnie
Cockpit CMS do wersji 2.14.0 zawiera podatność na trwałe XSS w polu typu Set, w opcji szablonu wyświetlania. Ciąg szablonu jest przetwarzany przez funkcję $interpolate za pomocą new Function() i renderowany przez Vue v-html bez sanityzacji, co pozwala atakującemu z uprawnieniami content/:models/manage na wstrzyknięcie dowolnego kodu JavaScript.
- CVE-2023-37650Wysokie
W portalu administracyjnym Cockpit CMS w wersji 2.5.2 występuje podatność typu Cross-Site Request Forgery (CSRF), która pozwala atakującym na wykonywanie dowolnych poleceń administratora.
Oryginalny opis (angielski, źródło NVD)
Cockpit CMS contains a path traversal vulnerability in the Bucket file storage API (/system/buckets/api). The api() method in modules/System/Controller/Buckets.php sanitizes the bucket name with preg_replace('/[^a-zA-Z0-9-_\\.]/','', $bucket), which permits '..' and '../' sequences. The sanitized value is interpolated into a Flysystem path as uploads://buckets/{bucket}. Flysystem's WhitespacePathNormalizer resolves 'buckets/..' to the empty string (the uploads storage root) without raising PathTraversalDetected because the '..' has a preceding component to consume. An authenticated low-privileged user can send a crafted request with a '../' bucket name to list, upload, and delete files across all buckets, including those belonging to other users or roles

