CVE-2026-61739
SOCFortress CoPilot: Authentication Bypass and Missing Authorization on Velociraptor Sigma Exclusion Rules (Detection Suppression)
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.5
SOCFortress CoPilot: Authentication Bypass and Missing Authorization on Velociraptor Sigma Exclusion Rules (Detection Suppression)
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.
- Record
CVE-2026-61739- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-287, CWE-862
- Updated
- 2026-11-02
EUVDEUVD-2026-114005
7.5
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.
- Record
EUVD-2026-114005- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-61739- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-287, CWE-862
- Updated
- 2026-11-02
OSV
7.5
SOCFortress CoPilot: Authentication Bypass and Missing Authorization on Velociraptor Sigma Exclusion Rules (Detection Suppression)
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.
- Record
CVE-2026-61739- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-287, 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-61739 is a high vulnerability (CVSS 7.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.37%, the 31st percentile. No source names a fixed version.
References
github.com/socfortress/CoPilot/security/advisories/GHSA-c6jc-rh4j-wg88
github.com/socfortress/CoPilot/pull/942
github.com/socfortress/CoPilot/commit/d22f80f9086ef5e68baa3a9414bff7d7621a14a8
github.com/socfortress/CoPilot/tree/v0.1.77
github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61739.json
nvd.nist.gov/vuln/detail/CVE-2026-61739