🇰🇷 한글 설명
SOCFortress CoPilot 0.1.77 이전 버전에서 Velociraptor Sigma 예외(exclusion) 관리 엔드포인트가 역할 및 테넌트 권한 검사를 누락하고, 인증 토큰 검증 실패 시 오류 문자열을 그대로 통과시켜 유효하지 않은 Bearer 토큰으로도 예외 규칙을 생성할 수 있습니다. 또한 일반 customer_user가 모든 예외를 조회·수정·삭제할 수 있어 탐지 규칙이 무력화될 수 있습니다.
💡 쉬운 설명
보안 탐지를 무시하도록 설정하는 기능에 적절한 인증과 권한 확인이 빠져 있습니다. 공격자는 올바른 계정 없이도 탐지를 억제하거나, 일반 사용자가 다른 사람의 탐지 설정을 바꿀 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
SOCFortress CoPilot 0.1.77 미만
⚔️ 공격 벡터
유효하지 않거나 위조된 Bearer 토큰으로 예외 규칙을 생성해 전사 탐지 억제, 또는 일반 계정으로 기존 예외를 열람·변경·삭제
🛡️ 대응 방법
CoPilot을 0.1.77 이상으로 업그레이드하고, 예외 관리 엔드포인트에 역할 및 테넌트 권한 검사를 적용하세요.
🔧 검증 코드
출력된 버전이 0.1.77 미만이면 취약하며, 0.1.77 이상이면 수정된 버전입니다. 경로를 찾지 못하면 설치 디렉터리를 직접 지정해 확인하세요.
grep -rn "version" $(find / -path '*socfortress*' -name 'pyproject.toml' -o -path '*copilot*' -name 'pyproject.toml' 2>/dev/null | head -1) 2>/dev/null | head -3