CVE-2026-62677
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać narzędzia sys_os_read, write, edit i shell do odczytu i zapisu plików runnera oraz dostępu do sekretów środowiska, co może prowadzić do wycieku danych lub eskalacji uprawnień.
Rekomendacja
Zaktualizuj Omnigent do wersji 0.3.0 lub nowszej, która zawiera poprawkę.
Inne podatności w Omnigent
Zobacz wszystkie- 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-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.
Oryginalny opis (angielski, źródło NVD)
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, an authenticated user can upload a session-scoped agent bundle with an absolute or traversal-containing os_env.cwd value because omnigent/spec/parser.py stores the value verbatim and omnigent/spec/validator.py does not constrain it. On a runner where OMNIGENT_RUNNER_WORKSPACE is unset, omnigent/runner/resource_registry.py preserves the attacker-controlled path and omnigent/inner/os_env.py uses the resolved path as the environment root and copytree source. The _assert_within_cwd check then treats that attacker-selected root as trusted, allowing sys_os_read, write, edit, and shell tools to access runner files and environment secrets outside the intended workspace. This issue is fixed in version 0.3.0.

