---
id: CVE-2026-61708
title: >-
  SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the
  Data-Store Upload Endpoint (customer_user)
summary: >-
  SOCFortress CoPilot focuses on providing a single pane of glass for all your
  security operations needs. Prior to 0.1.76, `POST
  /api/agent_data_store/upload` in `backend/app/data_store/data_store_routes.py`
  permits `customer_user` callers…
severity: high
cvss: 8.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L'
cvssSource: cna
cwe:
  - CWE-284
  - CWE-639
  - CWE-862
vendor: socfortress
product: CoPilot
affected:
  - CoPilot < 0.1.76
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-30T15:21:29.118330Z'
published: '2026-10-30'
updated: '2026-10-30'
sourceUpdated: '2026-10-30T15:52:19.134Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-61708'
references:
  - url: >-
      https://github.com/socfortress/CoPilot/security/advisories/GHSA-6j26-wcv6-gp3f
    label: >-
      https://github.com/socfortress/CoPilot/security/advisories/GHSA-6j26-wcv6-gp3f
  - url: 'https://github.com/socfortress/CoPilot/pull/937'
    label: 'https://github.com/socfortress/CoPilot/pull/937'
  - url: >-
      https://github.com/socfortress/CoPilot/commit/2d090bc07a109eefbdf9ed22dc67b0c93922d9ca
    label: >-
      https://github.com/socfortress/CoPilot/commit/2d090bc07a109eefbdf9ed22dc67b0c93922d9ca
  - url: 'https://github.com/socfortress/CoPilot/tree/v0.1.76'
    label: 'https://github.com/socfortress/CoPilot/tree/v0.1.76'
tags:
  - cve.org
epss: 0.00397
epssPercentile: 0.34142
ingestedAt: '2026-11-05T16:07:30.502Z'
---

## Overview

SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.76, `POST /api/agent_data_store/upload` in `backend/app/data_store/data_store_routes.py` permits `customer_user` callers to choose `bucket_name` and `object_name` without an allowlist, tenant prefix, ownership check or content restriction. The only file check requires a nonempty filename. The operations in `backend/app/data_store/data_store_operations.py` create missing buckets and upsert objects, allowing existing objects belonging to any tenant to be overwritten. Targets include `sysmon-configs/<customer_code>/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/<name>` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/<case_id>/<file>` and `velociraptor-artifacts/<agent_id>/<flow_id>/<file>`. A lowest-privilege user can tamper with cross-tenant evidence, blind endpoint telemetry, poison report templates for later code execution, plant data or exhaust storage. Sibling list, download and delete routes remain restricted to admin/analyst; the exposed operation is the upload write path. This issue is fixed in version 0.1.76.

## Affected

- `CoPilot < 0.1.76`

## Remediation

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