🔍 CVE-2026-61738

10.0
CVSS Score
CRITICAL
2026-10-30
2026-10-30 17:13
✅ 완료

🇰🇷 한글 설명

SOCFortress CoPilot 0.1.77 이전 버전의 ScoutSuite GCP 보고서 생성 엔드포인트(POST /api/scoutsuite/generate-gcp-report)는 업로드 파일명을 검증 없이 경로 조합에 사용합니다. 이로 인해 인증된 admin 또는 analyst 사용자가 경로 순회(path traversal) 파일명을 지정하여 보고서 디렉터리 외부에 JSON 내용을 기록할 수 있으며, 루트 권한으로 실행되는 백엔드에서는 호스트 파일 덮어쓰기와 애플리케이션 동작 방해가 가능합니다.

💡 쉬운 설명

보고서를 저장할 때 파일 이름을 검사하지 않아서, 로그인한 직원이 일부러 조작된 이름을 붙이면 지정된 폴더 밖의 시스템 파일을 덮어쓸 수 있습니다. 이로 인해 프로그램이 멈추거나 시스템 설정이 훼손될 수 있습니다.

🇺🇸 원문 (English)

SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.77, `POST /api/scoutsuite/generate-gcp-report` in `backend/app/integrations/scoutsuite/routes/scoutsuite.py` admits admin and analyst users and validates the uploaded content as `GCPScoutSuiteJSON`, but passes raw `file.filename` from the multipart header to `save_file_to_directory` in `backend/app/integrations/scoutsuite/services/scoutsuite.py`. The writer combines this filename with `scoutsuite-report` using `os.path.join` without sanitization or a resolved-path containment check. A traversal filename therefore writes the supplied JSON outside the intended report directory. In the reported root-running backend, the researcher demonstrated root-owned writes outside that directory and into the application source directory. This permits host-file overwrite subject to the accepted JSON-content constraint and can disrupt application operation; the demonstrated primitive does not establish unrestricted executable contents or unconditional cross-tenant confidentiality loss. Version 0.1.77 removes caller-controlled filenames from the affected route; unrestricted-content and direct-code-execution claims require separate curator reconciliation.

📍 영향받는 시스템

SOCFortress CoPilot 0.1.77 이전 버전 (백엔드 scoutsuite 통합 모듈)

⚔️ 공격 벡터

admin 또는 analyst 권한을 가진 사용자가 multipart 업로드의 filename 헤더에 ../ 등 경로 순회 문자열을 넣어 보고서 디렉터리 외부에 JSON을 기록

🛡️ 대응 방법

CoPilot을 0.1.77 이상으로 업그레이드하여 해당 라우트에서 사용자 지정 파일명을 제거하고, 임의 파일명 사용을 금지

🔧 검증 코드

설치된 버전이 0.1.77 미만이면 취약하며, 0.1.77 이상이거나 해당 라우트 코드에 file.filename 직접 사용이 없으면 패치된 상태입니다.

Shell / Script
pip show socfortress-copilot 2>/dev/null || grep -rn 'generate-gcp-report' /opt/copilot 2>/dev/null | head -5

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Copilot