Investigate in your agent.

Turn this advisory into a focused investigation. Ask your agent to check your project’s versions, explain the evidence, and suggest a compatible fix.

Your agent needs remote MCP support and access to https://cve.new/mcp.

Read the setup guide

Skip to content
Check your stack
CVE-2026-61730critical9.3

SOCFortress CoPilot: Unauthenticated Exposure of ScoutSuite Reports and Uploaded GCP Service-Account Key via Static Mount

Impact

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_.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…

Source excerpt · GitHub_M
Applies when

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.

Affected packages

This source has no supported package-version data for matching. You can read the advisory here, but this record alone cannot power a dependency check.

Affected products

Vendor version evidence. Product records are separate from automatic dependency matching.

socfortress · GitHub_M

CoPilot

1 range

Compare with this publisher’s ranges. This does not inspect your installation.

affected

< 0.1.77

unaffected

unknown

Other versions: unknown

Original source description

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.

Inside the record

Evidence available

Package identity · not supplied
Version evidence
Remediation guidance · not supplied
Weakness classification
Additional publishers

Describes the evidence in this view, not whether the product is safe.

Original records

CVE-2026-61730

View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.

cve.new JSON →

Underlying weaknesses

The source’s classification of what caused the vulnerability.

CWE-200 ↗

CWE-200: Exposure of Sensitive Information to an Unauthorized Actor

GitHub_M

Related →
CWE-306 ↗

CWE-306: Missing Authentication for Critical Function

GitHub_M

Related →
CWE-522 ↗

CWE-522: Insufficiently Protected Credentials

GitHub_M

Related →
CWE-552 ↗

CWE-552: Files or Directories Accessible to External Parties

GitHub_M

Related →
Contributing organizations · 2
GitHub_M

Assigning organization

2026-10-30
CISA-ADP

Additional data publisher

2026-10-30

What changed

Follow changes
No substantive changes have been recorded here yet. History starts when cve.new observes a change after tracking is enabled; earlier edits are not reconstructed.

Large field values are marked as truncated previews. Original source snapshots remain retained.

References

4 sources