CVE-2026-54453
WysokieCVSS 7.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 38 - wyżej niż 38% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Uwierzytelniony administrator z dostępem do modułu Settings może wykonać dowolny kod PHP, co prowadzi do odczytu, modyfikacji lub usunięcia danych aplikacji oraz ujawnienia danych kandydatów, firm i kont użytkowników. Wymaga to zapisywalnego pliku config.php.
Rekomendacja
Zaktualizuj OpenCATS do wersji 0.10.0 lub nowszej oraz ogranicz uprawnienia do modułu Settings i zapisu config.php do niezbędnego minimum.
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-2026-54454Krytyczne
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.
- 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-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 version 0.10.0, the Professional License configuration feature in `SettingsUI` (`manageProfessional`) accepts administrator-controlled license key input that is reconstructed into a PHP `define()` statement in `config.php` without safe escaping. Because the application includes `config.php`, crafted input can alter the file's PHP syntax and cause persistent arbitrary PHP execution with the web server process privileges. An authenticated administrator must have Settings module access and permission to update Professional License configuration, and `config.php` must be writable for this write-based path. Successful exploitation can read, modify or delete application data, expose candidate, contact, company, job order and user account information, alter the installation or configuration, and provide a foothold for further attacks. Unauthenticated exploitation and exploitation without Settings access are not established. This issue is fixed in version 0.10.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

