Agentejo Cockpit przed wersją 0.11.2 jest podatny na NoSQL injection w funkcji resetowania hasła. Luka umożliwia nieuwierzytelnionemu atakującemu zdalne przejęcie konta lub wykonanie poleceń na serwerze.
▸ Pokaż oryginał (EN)
Agentejo Cockpit before 0.11.2 allows NoSQL injection via the Controller/Auth.php resetpassword function.
Podatność występuje w pliku Controller/Auth.php w funkcji resetpassword, która nie filtruje poprawnie danych wejściowych przekazywanych do zapytań NoSQL. Atakujący może wstrzyknąć złośliwe operatory NoSQL (np. warunki logiczne), obchodząc w ten sposób mechanizm weryfikacji tożsamości wymagany przy resetowaniu hasła. Pozwala to na manipulację logiką zapytań do bazy danych bez żadnych uprawnień ani interakcji po stronie użytkownika.
Atakujący bez uwierzytelnienia może przejąć kontrolę nad kontami użytkowników systemu, a w połączeniu z innymi technikami uzyskać możliwość zdalnego wykonania poleceń (RCE) na serwerze.
Należy zaktualizować Agentejo Cockpit do wersji 0.11.2 lub nowszej. Poprawki zostały wprowadzone w commitach 2a385af8d80ed60d40d386ed813c1039db00c466 oraz 33e7199575631ba1f74cba6b16b10c820bec59af w repozytorium GitHub producenta.
Agentejo Cockpit w wersjach przed 0.11.2
Dostępne są publiczne exploity demonstrujące podatność (Packet Storm Security), obejmujące zarówno NoSQL injection, jak i zdalną egzekucję poleceń w oparciu o tę lukę.
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 — obejście uwierzytelnienia i RCE