---
id: CVE-2026-61730
title: >-
  SOCFortress CoPilot: Unauthenticated Exposure of ScoutSuite Reports and
  Uploaded GCP Service-Account Key via Static Mount
summary: >-
  SOCFortress CoPilot focuses on providing a single pane of glass for all your
  security operations needs. In affected deployments, the unauthenticated
  `/scoutsuite-report` `StaticFiles` mount in `backend/copilot.py` exposes the
  `scoutsuite…
severity: critical
cvss: 9.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-200
  - CWE-306
  - CWE-522
  - CWE-552
vendor: socfortress
product: CoPilot
affected:
  - CoPilot < 0.1.77
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-30T15:47:11.678607Z'
published: '2026-10-30'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T15:47:21.224Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-61730'
references:
  - url: >-
      https://github.com/socfortress/CoPilot/security/advisories/GHSA-pm2w-mmc3-h8hc
    label: >-
      https://github.com/socfortress/CoPilot/security/advisories/GHSA-pm2w-mmc3-h8hc
  - url: 'https://github.com/socfortress/CoPilot/pull/940'
    label: 'https://github.com/socfortress/CoPilot/pull/940'
  - url: >-
      https://github.com/socfortress/CoPilot/commit/bfa630b65d554670c7462a32ce6fd4e3cbd0254c
    label: >-
      https://github.com/socfortress/CoPilot/commit/bfa630b65d554670c7462a32ce6fd4e3cbd0254c
  - url: 'https://github.com/socfortress/CoPilot/tree/v0.1.77'
    label: 'https://github.com/socfortress/CoPilot/tree/v0.1.77'
tags:
  - cve.org
epss: 0.00369
epssPercentile: 0.30968
ingestedAt: '2026-11-05T16:07:30.476Z'
---

## Overview

SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. In affected deployments, the unauthenticated `/scoutsuite-report` `StaticFiles` mount in `backend/copilot.py` exposes the `scoutsuite-report` directory even though normal /api routes require JWT authentication. Generated HTML reports and `scoutsuite-results/scoutsuite_results_<name>.js` files disclose AWS, Azure and GCP IAM principals, resource inventories, misconfigurations and findings. Report names derive from caller-selected names with predictable defaults. During an admin- or analyst-initiated GCP scan, `backend/app/integrations/scoutsuite/routes/scoutsuite.py` saves the uploaded Google service-account JSON key into that same web-served directory. In `backend/app/integrations/scoutsuite/services/scoutsuite.py`, `generate_gcp_report_background` removes the key only after the scan finishes. Any anonymous client that can reach the host and request the file path can therefore retrieve the private key during the scan and use the service account's cloud permissions, as well as read retained cloud-security reports. Credential isolation is released in version 0.1.77; a release fully remediating the report-disclosure component has not been established.

## Affected

- `CoPilot < 0.1.77`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
