Podatności Omnigent
4 znanych podatności CVE w Omnigent, przetłumaczonych i ocenionych.
- CVE-2026-62674Krytyczne
Omnigent to otwartoźródłowy framework agentów AI i meta-harness do orkiestracji agentów kodujących. Przed wersją 0.3.0, PUT /sessions/{session_id}/agent sprawdza uprawnienie LEVEL_EDIT dla sesji, ale nie odrzuca powiązanego współdzielonego lub szablonowego agenta, którego agent.session_id jest None. Uwierzytelniony użytkownik z prawem edycji do sesji może zastąpić ten współdzielony pakiet agenta przez omnigent/server/routes/sessions.py, dodać serwer MCP stdio i spowodować, że późniejsze sesje używające współdzielonego agenta uruchomią polecenie kontrolowane przez atakującego przez omnigent/tools/mcp.py. Polecenie wykonuje się z uprawnieniami procesu runnera Omnigent i może ujawnić pliki, poświadczenia, dane obszaru roboczego, usługi wewnętrzne i dostępność runnera. Problem naprawiono w wersji 0.3.0.
- CVE-2026-62677Wysokie
Omnigent przed wersją 0.3.0 pozwala uwierzytelnionemu użytkownikowi przesłać pakiet agenta z wartością os_env.cwd zawierającą ścieżkę bezwzględną lub sekwencję przejść, ponieważ parser przechowuje wartość bez zmian, a walidator jej nie ogranicza. Gdy OMNIGENT_RUNNER_WORKSPACE nie jest ustawione, atakujący może kontrolować ścieżkę i uzyskać dostęp do plików runnera oraz sekretów środowiska poza zamierzonym workspace.
- CVE-2026-62676Wysokie
Omnigent przed wersją 0.3.0 ma wspólny parser poleceń powłoki, który nie rozpoznaje połączonych flag interpretera, wrapperów timeout, nice, setsid, stdbuf, podstawień poleceń oraz pojedynczego operatora kontroli tła. Ukryte w tych formach polecenia git push lub gh write nie są parsowane, co powoduje, że polityki allowlist i confinement nie działają i przepuszczają polecenie.
- CVE-2026-62675Wysokie
Omnigent przed wersją 0.3.0 akceptuje w multipart POST /v1/sessions pakiet agenta, a walidator nie odrzuca kropkowanej ścieżki Python w tools..callable. Mechanizm importuje wskazany moduł i wywołuje funkcję, co pozwala pakietowi wybrać subprocess.check_output i wykonać lokalne polecenie z uprawnieniami procesu runnera.

