CVE-2026-79920
KrytyczneCVSS 9.9Streszczenie
Ajenti to modularny panel administracyjny serwera dla Linuksa i BSD. W wersjach przed 2.2.16 każdy uwierzytelniony użytkownik może wywołać /api/core/tasks/start, aby zakolejkować InstallPlugin, UnInstallPlugin lub UpgradeAll z plugins/plugins/tasks.py bez uprawnień do zarządzania wtyczkami. InstallPlugin i UnInstallPlugin budują specyfikację pakietu pip z niezweryfikowanych pól name i version, a proces roboczy uruchamia pip jako root. Niskouprzywilejowany użytkownik może więc zainstalować, usunąć lub zaktualizować wtyczkę z uprawnieniami roota, co prowadzi do wykonania kodu jako root i pełnego przejęcia hosta. Problem naprawiono w wersji 2.2.16.
Ocena ryzyka
Każdy uwierzytelniony użytkownik może uzyskać wykonanie kodu jako root i całkowicie przejąć host z panelem Ajenti. Ryzyko jest krytyczne, ponieważ wymaga jedynie niskich uprawnień i nie wymaga interakcji administratora.
Rekomendacja
Zaktualizuj Ajenti do wersji 2.2.16 lub nowszej, aby naprawić brak kontroli uprawnień przy zadaniach zarządzania wtyczkami. Ogranicz dostęp do panelu Ajenti wyłącznie do zaufanych sieci i kont administracyjnych.
Inne podatności w Ajenti
Zobacz wszystkie- CVE-2020-37002Krytyczne
Ajenti w wersji 2.1.36 zawiera podatność na zdalne wykonanie poleceń po uwierzytelnieniu, która pozwala zdalnym atakującym na wykonywanie dowolnych poleceń po pomyślnym zalogowaniu. Atakujący mogą wykorzystać punkt końcowy /api/terminal/create do wysłania ładunku reverse shell netcat, celując w określony adres IP i port.
- CVE-2026-38979Średnie
Ajenti do wersji 2.2.13 zawiera podatność na clickjacking w interfejsie logowania i administracyjnym. Brak nagłówków X-Frame-Options i Content-Security-Policy frame-ancestors w odpowiedziach HTTP umożliwia osadzenie strony w ramce iframe.
- CVE-2026-35175Średnie
Ajenti przed wersją 2.2.15 umożliwia uwierzytelnionemu użytkownikowi (korzystającemu z wtyczki auth_users) instalację niestandardowego pakietu, nawet jeśli nie jest on superużytkownikiem. Luka została naprawiona w wersji 2.2.15.
Oryginalny opis (angielski, źródło NVD)
Ajenti is a Linux & BSD modular server admin panel. Prior to version 2.2.16, any authenticated user can call /api/core/tasks/start to enqueue InstallPlugin, UnInstallPlugin, or UpgradeAll from plugins/plugins/tasks.py without plugin-management authorization. InstallPlugin and UnInstallPlugin construct a pip package specification from unvalidated name and version fields, and the task worker invokes pip while running as root. A low-privileged user can therefore select or manipulate a package installed with root privileges and can install, remove, or upgrade plugins without administrative permission, resulting in root code execution and full host compromise. This issue is fixed in version 2.2.16.

