{"id":"CVE-2026-61708","aliases":["EUVD-2026-114084","GHSA-6j26-wcv6-gp3f"],"status":"published","title":"SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)","description":"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/\u003ccustomer_code\u003e/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/\u003cname\u003e` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/\u003ccase_id\u003e/\u003cfile\u003e` and `velociraptor-artifacts/\u003cagent_id\u003e/\u003cflow_id\u003e/\u003cfile\u003e`. 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.","severity":{"version":"3.1","score":8.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00397,"percentile":0.34253,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-284","CWE-639","CWE-862"],"published":"2026-10-30T14:20:17Z","modified":"2026-11-01T02:47:27Z","products":[{"vendor":"socfortress","product":"copilot"}],"references":[{"url":"https://github.com/socfortress/CoPilot/security/advisories/GHSA-6j26-wcv6-gp3f","tags":["x_refsource_CONFIRM","advisory"]},{"url":"https://github.com/socfortress/CoPilot/pull/937","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/socfortress/CoPilot/commit/2d090bc07a109eefbdf9ed22dc67b0c93922d9ca","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/socfortress/CoPilot/tree/v0.1.76","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61708.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61708","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-61708","title":"SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)","description":"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/\u003ccustomer_code\u003e/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/\u003cname\u003e` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/\u003ccase_id\u003e/\u003cfile\u003e` and `velociraptor-artifacts/\u003cagent_id\u003e/\u003cflow_id\u003e/\u003cfile\u003e`. 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.","status":"published","published":"2026-10-30T14:20:17.885Z","modified":"2026-10-30T15:52:19.134Z","cvss":[{"version":"3.1","score":8.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-284","CWE-639","CWE-862"],"updated_at":"2026-11-02T14:19:53.4444Z"}],"euvd":[{"id":"EUVD-2026-114084","description":"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/\u003ccustomer_code\u003e/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/\u003cname\u003e` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/\u003ccase_id\u003e/\u003cfile\u003e` and `velociraptor-artifacts/\u003cagent_id\u003e/\u003cflow_id\u003e/\u003cfile\u003e`. 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.","status":"published","published":"2026-10-30T14:20:17Z","modified":"2026-10-30T15:52:19Z","cvss":[{"version":"3.1","score":8.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L","level":"high"}],"updated_at":"2026-11-02T16:59:06.268136Z"}],"nvd":[{"id":"CVE-2026-61708","description":"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/\u003ccustomer_code\u003e/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/\u003cname\u003e` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/\u003ccase_id\u003e/\u003cfile\u003e` and `velociraptor-artifacts/\u003cagent_id\u003e/\u003cflow_id\u003e/\u003cfile\u003e`. 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.","status":"published","published":"2026-10-30T15:16:52.793Z","modified":"2026-10-30T17:13:54.187Z","cvss":[{"version":"3.1","score":8.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L","level":"high","assessor":"secondary"}],"cwes":["CWE-284","CWE-639","CWE-862"],"updated_at":"2026-11-02T14:13:05.268617Z"}],"osv":[{"id":"CVE-2026-61708","title":"SOCFortress CoPilot: Cross-Tenant Arbitrary Object-Store Write via the Data-Store Upload Endpoint (customer_user)","description":"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/\u003ccustomer_code\u003e/sysmon_config.xml` distributed to managed Windows endpoints, `copilot-case-report-templates/\u003cname\u003e` rendered server-side, and case evidence or forensic artifacts under `copilot-cases/\u003ccase_id\u003e/\u003cfile\u003e` and `velociraptor-artifacts/\u003cagent_id\u003e/\u003cflow_id\u003e/\u003cfile\u003e`. 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.","status":"published","published":"2026-10-30T14:20:17.885Z","modified":"2026-11-01T02:47:27.180126466Z","cvss":[{"version":"3.1","score":8.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L","level":"high"}],"cwes":["CWE-284","CWE-639","CWE-862"],"updated_at":"2026-11-02T15:45:12.933503Z"}]}}
