CVE-2026-61708
SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
8.5
SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)
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.
- Record
CVE-2026-61708- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L - Weakness
- CWE-284, CWE-639, CWE-862
- Updated
- 2026-11-02
EUVDEUVD-2026-114084
8.5
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.
- Record
EUVD-2026-114084- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L - Updated
- 2026-11-02
NVD
8.5
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.
- Record
CVE-2026-61708- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L - Weakness
- CWE-284, CWE-639, CWE-862
- Updated
- 2026-11-02
OSV
8.5
SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)
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.
- Record
CVE-2026-61708- CVSS 3.1
- 8.5 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L - Weakness
- CWE-284, CWE-639, CWE-862
- Updated
- 2026-11-02
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-61708 is a high vulnerability (CVSS 8.5) in Socfortress Copilot, published October 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.40%, the 34th percentile. No source names a fixed version.
References
github.com/socfortress/CoPilot/security/advisories/GHSA-6j26-wcv6-gp3f
github.com/socfortress/CoPilot/pull/937
github.com/socfortress/CoPilot/commit/2d090bc07a109eefbdf9ed22dc67b0c93922d9ca
github.com/socfortress/CoPilot/tree/v0.1.76
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61708.json
nvd.nist.gov/vuln/detail/CVE-2026-61708