CVE-2026-54454
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
OpenCATS przed wersją 0.10.0 w module importu (modules/import/ImportUI.php) może zachować oryginalną nazwę przesłanego pliku dla jednego typu importu i umieścić plik w publicznie dostępnym katalogu tymczasowym. Uwierzytelniony użytkownik z uprawnieniami do importu może wybrać tę ścieżkę i przesłać plik PHP, który pozostaje pod kontrolowaną przez atakującego nazwą wykonywalną, a błąd importu może pozostawić plik na dysku. Jeśli katalog tymczasowy jest serwowany z włączonym wykonywaniem PHP, żądanie tego pliku może wykonać dowolny kod PHP z uprawnieniami procesu serwera WWW. Problem naprawiono w wersji 0.10.0.
Ocena ryzyka
Atakujący może wykonać dowolny kod PHP na serwerze, co prowadzi do ujawnienia lub modyfikacji danych rekrutacyjnych oraz przejęcia hosta.
Rekomendacja
Zaktualizuj OpenCATS do wersji 0.10.0 lub nowszej oraz wyłącz wykonywanie PHP w katalogu tymczasowym.
Inne podatności w OpenCATS
Zobacz wszystkie- CVE-2026-112787Średnie
OpenCATS w wersjach przed 0.10.0 zawiera podatność braku autoryzacji w ReportsUI::handleRequest(). Uwierzytelnieni użytkownicy mogą przeglądać raporty demograficzne EEO bez uprawnienia canSeeEEOInfo, wywołując akcje customizeEEOReport i generateEEOReportPreview w celu uzyskania zagregowanych statystyk dotyczących pochodzenia etnicznego, statusu weterana, płci i niepełnosprawności.
- CVE-2026-112786Średnie
OpenCATS w wersjach przed 0.10.0 zawiera podatność braku autoryzacji w ImportUI::handleRequest(). Użytkownicy z niskimi uprawnieniami (poziom READ) mogą wycofać import danych, żądając akcji revert z importID, co powoduje masowe usunięcie zaimportowanych rekordów kandydatów, firm i kontaktów.
- CVE-2026-112785Średnie
OpenCATS w wersjach przed 0.10.0 zawiera podatność braku autoryzacji, która pozwala użytkownikom z poziomem READ tworzyć, zmieniać nazwy, usuwać i wypełniać zapisane listy poprzez endpointy AJAX. Uwierzytelnieni atakujący mogą wysyłać żądania do newList.php, editListName.php, deleteList.php lub addToLists.php z dowolnym savedListID, aby zmieniać lub usuwać dowolne zapisane listy w całym serwisie.
- CVE-2026-112784Średnie
OpenCATS w wersjach przed 0.10.0 zawiera podatność braku autoryzacji w ajax/testEmailSettings.php, która pozwala każdemu uwierzytelnionemu użytkownikowi wysyłać pocztę przez skonfigurowany relay SMTP. Użytkownicy z poziomem READ mogą podać parametry testEmailAddress i fromAddress, aby wysłać stałą wiadomość testową do dowolnego odbiorcy ze sfałszowanym adresem nadawcy.
- CVE-2021-47936Krytyczne
OpenCATS 0.9.4 zawiera podatność na zdalne wykonanie kodu, która pozwala nieuwierzytelnionym atakującym na wykonanie dowolnych poleceń poprzez przesyłanie złośliwych plików PHP udających załączniki CV.
- CVE-2026-27760Wysokie
OpenCATS przed commit 3002a29 zawiera podatność na wstrzykiwanie kodu PHP w punkcie końcowym AJAX instalatora, umożliwiającą nieuwierzytelnionym atakującym wykonanie dowolnego kodu poprzez wstrzyknięcie instrukcji PHP do parametru akcji databaseConnectivity. Atakujący mogą wyłamać się z kontekstu stringa define() w config.php za pomocą pojedynczego cudzysłowu i separatora instrukcji, aby wstrzyknąć złośliwy kod PHP, który utrzymuje się i wykonuje przy każdym kolejnym ładowaniu strony, gdy kreator instalacji pozostaje nieukończony.
- CVE-2026-54455Wysokie
OpenCATS przed wersją 0.10.0 zawiera lukę SQL injection w filtrowaniu dat DataGrid aktywności w `home:CallsDataGrid` i `activity:ActivityDataGrid`, gdzie parametry `period`, `startDate` i `endDate` są używane bez wystarczającej walidacji lub escapowania. Uwierzytelniony użytkownik z dostępem do dotkniętych endpointów DataGrid może zmienić zamierzone zapytanie, aby uzyskać dostęp do poufnych danych bazy, w tym kont użytkowników, rekordów kandydatów, danych kontaktowych, informacji o firmach, zleceń pracy i historii aktywności. Wymagane jest ważne logowanie do OpenCATS. Luka jest naprawiona w wersji 0.10.0.
- CVE-2026-54453Wysokie
W OpenCATS przed wersją 0.10.0 funkcja konfiguracji licencji profesjonalnej w SettingsUI przyjmuje klucz licencji kontrolowany przez administratora, który jest wstawiany do instrukcji PHP define() w config.php bez bezpiecznego escapowania. Poprzez spreparowane dane wejściowe można zmienić składnię PHP pliku i uzyskać trwałe wykonanie dowolnego kodu PHP z uprawnieniami procesu serwera WWW.
- CVE-2026-115513Wysokie
OpenCATS w wersjach przed 0.12.0 zawiera podatność typu stored XSS, która pozwala zalogowanemu użytkownikowi o niskich uprawnieniach wstrzyknąć ładunek HTML/JavaScript poprzez pole nazwy/tytułu Kandydata, Firmy, Kontaktu, Zlecenia pracy lub Listy. Wartość jest przechowywana bez sanityzacji i później renderowana bez escapowania w panelu nawigacji 'Recent' (MRU) wyświetlanym na niemal każdej stronie przez funkcję getFormatted() w lib/MRU.php. Atakujący może wykonać dowolny JavaScript w sesji innego użytkownika, w tym administratora witryny, co umożliwia kradzież sesji/cookies i eskalację do pełnej kontroli administracyjnej.
- CVE-2026-113349Średnie
OpenCATS w wersjach przed 0.10.0 zawiera podatność braku autoryzacji w metodach CalendarUI::onEditEvent() i onDeleteEvent(). Uwierzytelnieni użytkownicy mogą modyfikować lub usuwać wydarzenia kalendarza innych użytkowników, podając dowolne wartości eventID, w tym wydarzenia niepubliczne zastrzeżone dla właściciela.
Oryginalny opis (angielski, źródło NVD)
OpenCATS is an open-source applicant tracking system and recruitment CRM for staffing agencies and hiring teams. Prior to 0.10.0, the OpenCATS Import module in modules/import/ImportUI.php can preserve an uploaded file's original name for one import data type and place the file in the web-accessible temporary directory. An authenticated user with Import privileges can select the affected import path and upload a PHP file that remains under an attacker-controlled executable filename, and an import error can leave the file on disk. If the temporary directory is served with PHP execution enabled, requesting the staged file can execute arbitrary PHP code with the web server process privileges, exposing or modifying recruiting data and the host system. This issue is fixed in version 0.10.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

