CVE-2026-61739
WysokieCVSS 7.5Streszczenie
W SOCFortress CoPilot przed wersją 0.1.77 endpointy zarządzania wykluczeniami Velociraptor Sigma nie weryfikują ról ani tenanta, a endpoint tworzenia wykluczenia nie waliduje poprawnie poświadczeń — dowolny nieprawidłowy, wygasły lub sfałszowany token Bearer pozwala utworzyć regułę wyciszania. Ponadto reguły z pustym customer_code działają globalnie, a niskouprzywilejowani użytkownicy mogą przeglądać, modyfikować, wyłączać i usuwać wykluczenia.
Ocena ryzyka
Atakujący może wyciszyć wykrycia w całej platformie i ukryć rzeczywiste incydenty, a użytkownicy o niskich uprawnieniach mogą manipulować konfiguracją detekcji, co osłabia monitoring bezpieczeństwa organizacji.
Rekomendacja
Zaktualizuj SOCFortress CoPilot do wersji 0.1.77 lub nowszej, a do czasu aktualizacji ogranicz dostęp do endpointów wykluczeń Velociraptor Sigma i zweryfikuj istniejące reguły wykluczeń, zwłaszcza te z pustym customer_code.
Inne podatności w SOCFortress CoPilot
Zobacz wszystkie- CVE-2026-61708Wysokie
W SOCFortress CoPilot przed wersją 0.1.76 endpoint POST /api/agent_data_store/upload pozwala użytkownikom z rolą customer_user wybrać nazwę bucketu i obiektu bez allowlisty, prefiksu tenanta ani sprawdzenia własności. Możliwe jest nadpisywanie obiektów innych tenantów, w tym konfiguracji sysmon, szablonów raportów i dowodów z spraw. Podatność naprawiono w wersji 0.1.76.
- CVE-2026-61738Krytyczne
W SOCFortress CoPilot przed wersją 0.1.77 endpoint POST /api/scoutsuite/generate-gcp-report przekazuje surową nazwę pliku z nagłówka multipart do funkcji zapisu bez sanityzacji ani sprawdzenia ścieżki docelowej. Nazwa pliku z sekwencją przejścia katalogów pozwala zapisać przesłany JSON poza zamierzonym katalogiem raportów, w tym w katalogu źródłowym aplikacji.
- CVE-2026-61730Krytyczne
W SOCFortress CoPilot nieuwierzytelniony mount StaticFiles /scoutsuite-report udostępnia katalog scoutsuite-report, ujawniając raporty HTML oraz pliki wyników zawierające informacje o IAM, zasobach i błędach konfiguracji AWS, Azure i GCP. Podczas skanowania GCP klucz konta usługi jest zapisywany w tym samym katalogu i usuwany dopiero po zakończeniu skanowania, więc anonimowy klient może go pobrać.
- CVE-2026-61729Krytyczne
W SOCFortress CoPilot przed wersją 0.1.76 funkcje verify_graylog_header i verify_velociraptor_header uwierzytelniają webhooki przy użyciu tego samego publicznie zaszytego domyślnego nagłówka, obecnego także w .env.example. Wdrożenia z niezmienionym sekretem pozwalają anonimowemu wywołującemu ominąć uwierzytelnianie JWT i wywołać akcje active-response oraz tworzyć sfałszowane alerty.
- CVE-2026-61728Krytyczne
W SOCFortress CoPilot użytkownicy portalu, w tym konta typu customer_user, mogą przesyłać znaczniki HTML przez endpoint komentarzy do alertów, które są renderowane bez sanityzacji przy użyciu v-html. Umożliwia to przechowywany XSS, a ponieważ tokeny dostępu i odświeżania są przechowywane w pamięci dostępnej dla JavaScript, wstrzyknięty skrypt może je wykraść i przejąć konto przeglądającego. Podatność dotyczy także innych pól SOC (sprawy, zasoby, health-check) i została naprawiona w wersjach 0.1.70 (health-check) oraz 0.1.76 (komentarze i pozostałe pola).
- CVE-2026-61707Krytyczne
W SOCFortress CoPilot przed wersją 0.1.76 szablony raportów przesyłane przez użytkownika o najniższych uprawnieniach (customer_user) są później wykonywane przez niesandboxowane silniki Jinja2 podczas generowania raportu przez administratora lub analityka. Brak walidacji treści szablonu oraz brak izolacji między klientami pozwala atakującemu na wstrzyknięcie złośliwych wyrażeń Jinja, które są wykonywane jako kod Python na backendzie.
- CVE-2026-42869Krytyczne
W wersjach przed 0.1.57, SOCFortress CoPilot zawierał twardo zakodowany sekret do podpisywania JWT, co umożliwiało atakującym fałszowanie tokenów administracyjnych. W przypadku, gdy JWT_SECRET nie jest ustawiony, wszystkie tokeny uwierzytelniające są podpisywane tym publicznie znanym kluczem.
Oryginalny opis (angielski, źródło NVD)
SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.77, the Velociraptor Sigma exclusion-management endpoints in `backend/app/incidents/routes/incident_alert.py` omit role and tenant authorization, and `POST /api/incidents/alerts/create/velo-sigma/exclusion` does not validate credentials. Its `return_username_for_logging` dependency in `backend/app/auth/utils.py` calls `decode_token`, which returns ordinary Invalid token or Expired signature strings on failure, and the dependency passes these strings through instead of rejecting the request. A Bearer header is required, but an arbitrary invalid, expired or forged value can create a suppression rule without a valid account. The collection GET at /create/velo-sigma/exclusion lists exclusions; the read, update and delete routes under `/create/velo-sigma/exclusion/{exclusion_id}`, and the `/velo-sigma/exclusion/{exclusion_id}/toggle` route, use `get_current_user` without role checks, permitting any authenticated `customer_user` to manage every exclusion. In `backend/app/incidents/services/velo_sigma.py`, `process_sigma_alert` calls `check_exclusions` and drops matching enabled alerts before incident creation. A null `customer_code` applies a rule across all tenants. Attackers can suppress detections platform-wide through channel, title or field matching, while low-privilege accounts can enumerate detection-tuning data and modify, disable or delete legitimate exclusions. This issue is fixed in version 0.1.77.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

