{"id":"CVE-2026-61739","state":"PUBLISHED","title":"SOCFortress CoPilot: Authentication Bypass and Missing Authorization on Velociraptor Sigma Exclusion Rules (Detection Suppression)","description":"SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.77, the Velociraptor Sigma exclusion-management endpoints in `backend/app/incidents/routes/incident_alert.py` omit role and tenant authorization, and `POST /api/incidents/alerts/create/velo-sigma/exclusion` does not validate credentials. Its `return_username_for_logging` dependency in `backend/app/auth/utils.py` calls `decode_token`, which returns ordinary Invalid token or Expired signature strings on failure, and the dependency passes these strings through instead of rejecting the request. A Bearer header is required, but an arbitrary invalid, expired or forged value can create a suppression rule without a valid account. The collection GET at /create/velo-sigma/exclusion lists exclusions; the read, update and delete routes under `/create/velo-sigma/exclusion/{exclusion_id}`, and the `/velo-sigma/exclusion/{exclusion_id}/toggle` route, use `get_current_user` without role checks, permitting any authenticated `customer_user` to manage every exclusion. In `backend/app/incidents/services/velo_sigma.py`, `process_sigma_alert` calls `check_exclusions` and drops matching enabled alerts before incident creation. A null `customer_code` applies a rule across all tenants. Attackers can suppress detections platform-wide through channel, title or field matching, while low-privilege accounts can enumerate detection-tuning data and modify, disable or delete legitimate exclusions. This issue is fixed in version 0.1.77.","publishedAt":"2026-10-30T14:50:23.292Z","updatedAt":"2026-10-30T15:45:17.745Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["socfortress CoPilot"],"affected":[{"vendor":"socfortress","product":"CoPilot","versions":[{"version":"< 0.1.77","status":"affected"}]}],"references":["https://github.com/socfortress/CoPilot/security/advisories/GHSA-c6jc-rh4j-wg88","https://github.com/socfortress/CoPilot/pull/942","https://github.com/socfortress/CoPilot/commit/d22f80f9086ef5e68baa3a9414bff7d7621a14a8","https://github.com/socfortress/CoPilot/tree/v0.1.77"],"weaknesses":["CWE-287","CWE-862"],"ingestedAt":"2026-10-30T15:52:06.342Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/61xxx/CVE-2026-61739.json","commit":"e38f713043e354157a039ed59396319d18b4445f","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-61739","state":"PUBLISHED","datePublished":"2026-10-30T14:50:23.292Z","dateUpdated":"2026-10-30T15:45:17.745Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-07-10T18:59:00.047Z"},"containers":{"cna":{"title":"SOCFortress CoPilot: Authentication Bypass and Missing Authorization on Velociraptor Sigma Exclusion Rules (Detection Suppression)","descriptions":[{"lang":"en","value":"SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.77, the Velociraptor Sigma exclusion-management endpoints in `backend/app/incidents/routes/incident_alert.py` omit role and tenant authorization, and `POST /api/incidents/alerts/create/velo-sigma/exclusion` does not validate credentials. Its `return_username_for_logging` dependency in `backend/app/auth/utils.py` calls `decode_token`, which returns ordinary Invalid token or Expired signature strings on failure, and the dependency passes these strings through instead of rejecting the request. A Bearer header is required, but an arbitrary invalid, expired or forged value can create a suppression rule without a valid account. The collection GET at /create/velo-sigma/exclusion lists exclusions; the read, update and delete routes under `/create/velo-sigma/exclusion/{exclusion_id}`, and the `/velo-sigma/exclusion/{exclusion_id}/toggle` route, use `get_current_user` without role checks, permitting any authenticated `customer_user` to manage every exclusion. In `backend/app/incidents/services/velo_sigma.py`, `process_sigma_alert` calls `check_exclusions` and drops matching enabled alerts before incident creation. A null `customer_code` applies a rule across all tenants. Attackers can suppress detections platform-wide through channel, title or field matching, while low-privilege accounts can enumerate detection-tuning data and modify, disable or delete legitimate exclusions. This issue is fixed in version 0.1.77."}],"affected":[{"vendor":"socfortress","product":"CoPilot","versions":[{"version":"< 0.1.77","status":"affected"}]}],"references":[{"url":"https://github.com/socfortress/CoPilot/security/advisories/GHSA-c6jc-rh4j-wg88","name":"https://github.com/socfortress/CoPilot/security/advisories/GHSA-c6jc-rh4j-wg88","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/socfortress/CoPilot/pull/942","name":"https://github.com/socfortress/CoPilot/pull/942","tags":["x_refsource_MISC"]},{"url":"https://github.com/socfortress/CoPilot/commit/d22f80f9086ef5e68baa3a9414bff7d7621a14a8","name":"https://github.com/socfortress/CoPilot/commit/d22f80f9086ef5e68baa3a9414bff7d7621a14a8","tags":["x_refsource_MISC"]},{"url":"https://github.com/socfortress/CoPilot/tree/v0.1.77","name":"https://github.com/socfortress/CoPilot/tree/v0.1.77","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-287","lang":"en","description":"CWE-287: Improper Authentication","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-862","lang":"en","description":"CWE-862: Missing Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-30T14:50:23.292Z"},"source":{"advisory":"GHSA-c6jc-rh4j-wg88","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/socfortress/CoPilot/security/advisories/GHSA-c6jc-rh4j-wg88","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-30T15:44:53.572533Z","id":"CVE-2026-61739","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-30T15:45:17.745Z"}}]}}}