CVE-2026-111874
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 40 - wyżej niż 40% wszystkich znanych CVE
Streszczenie
W OpenCATS 0.10.0 wykryto podatność w funkcji processLogin w pliku modules/careers/CareersUI.php (komponent Career Portal). Manipulacja argumentem applyToJobSubAction powoduje niewłaściwe ograniczenie nadmiernej liczby prób uwierzytelnienia, co umożliwia zdalny atak. Złożoność ataku jest wysoka, a wykorzystanie określane jako trudne, jednak exploit został opublikowany i może być użyty.
Ocena ryzyka
Brak skutecznego ograniczania liczby prób logowania w portalu kariery może umożliwić ataki brute-force na konta kandydatów. Ponieważ exploit jest publicznie dostępny, ryzyko nieautoryzowanego dostępu wzrasta.
Rekomendacja
Należy zainstalować poprawkę o nazwie 1cf4fa3ee9054314b023be79d404078645c22ade. Dodatkowo warto rozważyć ograniczanie liczby żądań na poziomie sieci, reverse-proxy lub serwera WWW, zgodnie z zaleceniem opiekuna projektu.
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-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.
Oryginalny opis (angielski, źródło NVD)
A flaw has been found in OpenCATS 0.10.0. Affected is the function processLogin of the file modules/careers/CareersUI.php of the component Career Portal. This manipulation of the argument applyToJobSubAction causes improper restriction of excessive authentication attempts. Remote exploitation of the attack is possible. A high degree of complexity is needed for the attack. The exploitability is told to be difficult. The exploit has been published and may be used. Patch name: 1cf4fa3ee9054314b023be79d404078645c22ade. It is suggested to install a patch to address this issue. The project maintainer explains: "Candidates will now need to authenticate each time they access the Career Portal and successfully complete the CAPTCHA as part of that authentication flow. The authenticated candidate identity is now maintained server-side rather than relying on the previous persistent client-side cats…cw cookie mechanism. Application-level rate limiting is deliberately not in scope for this change. In my view, request throttling and brute-force protection of that kind are better applied at the network, reverse-proxy or web-server layer, where they can be configured appropriately for each deployment without OpenCATS having to implement and maintain its own rate-limiting framework. I'll update the online documentation to that effect."
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

