Podatność w Agentejo Cockpit przed wersją 0.6.1 umożliwia nieuwierzytelnionemu atakującemu wstrzyknięcie dowolnego kodu PHP i zdalne wykonanie poleceń na serwerze. Ze względu na brak wymagań dotyczących uwierzytelnienia i możliwość pełnego przejęcia systemu, zagrożenie jest oceniane jako krytyczne.
▸ Pokaż oryginał (EN)
Cockpit before 0.6.1 allows an attacker to inject custom PHP code and achieve Remote Command Execution via registerCriteriaFunction in lib/MongoLite/Database.php, as demonstrated by values in JSON data to the /auth/check or /auth/requestreset URI.
Błąd tkwi w funkcji registerCriteriaFunction w pliku lib/MongoLite/Database.php. Atakujący może przekazać złośliwe wartości w danych JSON do publicznie dostępnych endpointów /auth/check lub /auth/requestreset. Brak odpowiedniej walidacji i sanityzacji danych wejściowych (CWE-94 — Code Injection) pozwala na osadzenie i wykonanie dowolnego kodu PHP po stronie serwera bez żadnego uwierzytelnienia.
Atakujący może zdalnie wykonać dowolne polecenia systemowe na serwerze (RCE), co w praktyce oznacza pełne przejęcie kontroli nad aplikacją i potencjalnie całym serwerem, w tym dostęp do poufnych danych, modyfikację treści oraz instalację złośliwego oprogramowania.
Należy niezwłocznie zaktualizować Agentejo Cockpit do wersji 0.6.1 lub nowszej, w której błąd został naprawiony. Szczegóły patcha dostępne są w repozytorium producenta pod adresem: https://github.com/agentejo/cockpit/releases/tag/0.6.1
Agentejo Cockpit we wszystkich wersjach przed 0.6.1
Dla tej podatności dostępny jest publiczny exploit w bazie Exploit-DB (https://www.exploit-db.com/exploits/49390), co istotnie podnosi ryzyko jej wykorzystania, mimo że CISA KEV nie odnotowuje aktywnej eksploatacji.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAgentejo Cockpit
APPAgentejo< 0.6.1
Powiązane podatności
Dowolne przesyłanie plików w Agentejo Cockpit CMS (arbitrary file upload)
Agentejo Cockpit: Nieusuwanie wrażliwych danych przed zapisem lub transferem
Insufficient Session Expiration w Agentejo Cockpit — nieograniczona ważność sesji
NoSQL Injection w Agentejo Cockpit — resetowanie hasła bez uwierzytelnienia
NoSQL Injection w Agentejo Cockpit — obejście uwierzytelnienia i RCE