Agentejo Cockpit przed wersją 0.11.2 jest podatny na NoSQL injection w funkcji check() pliku Controller/Auth.php. Podatność otrzymała ocenę CVSS 9.8 (CRITICAL) i może prowadzić do zdalnego wykonania kodu bez konieczności uwierzytelnienia.
▸ Pokaż oryginał (EN)
Agentejo Cockpit before 0.11.2 allows NoSQL injection via the Controller/Auth.php check function.
Atakujący wysyła spreparowane żądanie do endpointu uwierzytelnienia, wstrzykując złośliwe operatory NoSQL do parametrów przesyłanych do funkcji check(). Brak odpowiedniej walidacji i sanityzacji danych wejściowych pozwala na manipulację logiką zapytania do bazy danych. W konsekwencji możliwe jest obejście mechanizmu weryfikacji hasła, a według publicznie dostępnych materiałów — również zdalne wykonanie kodu (RCE).
Nieuwierzytelniony zdalny atakujący może uzyskać dostęp do systemu z pominięciem mechanizmów uwierzytelnienia, a w dalszej kolejności wykonać dowolny kod na serwerze (RCE), co prowadzi do pełnego przejęcia kontroli nad aplikacją.
Należy zaktualizować Agentejo Cockpit do wersji 0.11.2 lub nowszej. Poprawki zostały wprowadzone w commitach: 2a385af8d80ed60d40d386ed813c1039db00c466, 33e7199575631ba1f74cba6b16b10c820bec59af oraz 79fc9631ffa29146e3124ceaf99879b92e1ef24b w repozytorium GitHub producenta.
Agentejo Cockpit w wersjach przed 0.11.2
Publiczny exploit demonstrujący NoSQL Injection i RCE jest dostępny w serwisie Packet Storm Security (plik: Cockpit-CMS-0.11.1-NoSQL-Injection-Remote-Command-Execution.html), co znacząco podnosi realne ryzyko wykorzystania podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAgentejo Cockpit
APPAgentejo< 0.11.2
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
RCE poprzez code injection w Agentejo Cockpit (przed 0.6.1)
NoSQL Injection w Agentejo Cockpit — resetowanie hasła bez uwierzytelnienia