CVE-2026-61738
Path traversal in SOCFortress CoPilot ScoutSuite upload
- CVSS 3.1
- 10.0 critical
- EPSS
- —
- Published
- ·
- Modified
Before 0.1.77, SOCFortress CoPilot’s POST /api/scoutsuite/generate-gcp-report accepts admin and analyst uploads validated as GCPScoutSuiteJSON but passes the multipart filename unsanitized to os.path.join. A traversal name writes that JSON outside the report directory, including into application source when the backend runs as root. The write is limited to accepted JSON, can disrupt the app, and does not by itself prove code execution or cross-tenant data theft.
What to do: Upgrade SOCFortress CoPilot to 0.1.77, which stops using caller-controlled filenames on this route.
| Product | Affected | Fixed in |
|---|---|---|
| SOCFortress CoPilot | prior to 0.1.77 | 0.1.77 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Description · NVD
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.
- Weakness
- CWE-22, CWE-73, CWE-434
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
In the news
0 storiesNo ingested article mentions this CVE yet.