CVE-2026-90623 ma CVSS 3.7 i formalnie opisuje niewłaściwą walidację host key/certyfikatu w projekcie Cochise. Patrząc tylko na rekord, wygląda to jak wąski problem SSH wymagający złożonego MITM. Pierwotny report pokazuje jednak szerszy kontekst: Cochise jest agentem pentestowym opartym na LLM; według issue #13 asyncssh.connect() jest wołane z known_hosts=None, a surowy output sesji SSH trafia do kontekstu modelu bez sanitizacji/taint marking. To nie pojedynczy bug, lecz dwa elementy, które mogą spotkać się w jednym łańcuchu.
known_hosts=None → brak weryfikacji tożsamości serwera SSH (akceptacja hosta atakującego / MITM).Primitive kontra chain
Formalny rekord dotyczy host-key verification. Report opisuje dodatkowo drugą klasę ryzyka: unsanitized target output wpływający na model. Zapis poprawny: CVE primitive — brak weryfikacji host key; researcher-described chain — prymitywa ułatwia dostarczenie nieufnego outputu do agenta, który podejmuje działania; pełny chain — wymaga dodatkowych warunków (zachowanie modelu, execution layer). Takie rozdzielenie zapobiega nadmiernemu claimowi. To już nie MITM → odczyt/zamiana danych, lecz potencjalnie MITM → wstrzyknięcie instrukcji do modelu → tool/action execution.
Dlaczego to ważne dla VM
Tradycyjny system priorytetyzuje CVSS 3.7 → Low → później. Agentowy wymaga pytań kontekstowych: czy narzędzie łączy się z hostami, którym nie ufa; czy pracuje w sieci podatnej na MITM/DNS manipulation; czy output hosta trafia bezpośrednio do modelu; czy model może uruchamiać kolejne komendy automatycznie; czy agent ma dostęp do lokalnych/produkcyjnych credentials; czy execution odbywa się na celu czy na stacji operatora; czy jest human approval. Dopiero odpowiedzi tworzą environmental severity. Publiczny exploit/report nie jest dowodem exploitation in the wild — status: public researcher reproduction tak, CVE assigned tak, active exploitation brak potwierdzenia.
Controls i testy remediation
Bez wiarygodnego fixed release VE może zamknąć część attack path: przywrócenie strict host-key verification, pinning/known_hosts dla środowisk testowych, wyłączenie auto-akceptacji nowych kluczy, oddzielanie raw tool output od instruction context, sandbox wykonania, brak automatycznego local execution, allowlista tooli i argumentów, human confirmation dla high-impact actions, izolowany profil operatora bez szerokich credentials — każdy control odpowiada konkretnej krawędzi attack graph. Testy: host identity (kontrolowany SSH endpoint z innym kluczem → agent przerywa połączenie); prompt boundary (zdalny host zwraca tekst-instrukcję → model może go zobaczyć jako dane, ale execution layer nie wykonuje niedozwolonej operacji); autonomous execution (po nieufnym output agent nie wykonuje akcji bez policy gate); credential blast radius (agent w docelowym profilu bez zbędnych cloud/SSH/CI credentials). Verification dowodzi, że zamknięte są zarówno identity boundary SSH, jak i instruction/action boundary agenta.
Powiązane na blogu
- HackingBuddyGPT: target output → RCE operatora — ta sama klasa trust-boundary
- Cochise · PentestAgent: capability agenta — execution layer i policy gate
Źródła
- Researcher report (issue #13) — github.com
- NVD — CVE-2026-90623 — nvd.nist.gov
Nota redakcyjna: stan informacji 14 września 2026. CVE-2026-90623 (Cochise, CVSS 3.7) opisuje brak host-key validation; report łączy to z nieufnym output SSH trafiającym do kontekstu LLM. Pełny chain wymaga dodatkowych warunków; brak potwierdzenia active exploitation. Artykuł rozdziela primitive od chainu, by uniknąć nadmiernego claimu.