{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-61729", "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "state": "PUBLISHED", "assignerShortName": "GitHub_M", "dateReserved": "2026-07-10T18:59:00.046Z", "datePublished": "2026-10-30T14:24:04.762Z", "dateUpdated": "2026-10-30T14:24:04.762Z" }, "containers": { "cna": { "title": "SOCFortress CoPilot: Hardcoded Default Header Secret - Unauthenticated Active-Response Invocation and Alert Injection", "problemTypes": [ { "descriptions": [ { "cweId": "CWE-306", "lang": "en", "description": "CWE-306: Missing Authentication for Critical Function", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-798", "lang": "en", "description": "CWE-798: Use of Hard-coded Credentials", "type": "CWE" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 9.4, "baseSeverity": "CRITICAL", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H", "version": "3.1" } } ], "references": [ { "name": "https://github.com/socfortress/CoPilot/security/advisories/GHSA-x8gc-f8p4-frc2", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/socfortress/CoPilot/security/advisories/GHSA-x8gc-f8p4-frc2" }, { "name": "https://github.com/socfortress/CoPilot/pull/939", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/socfortress/CoPilot/pull/939" }, { "name": "https://github.com/socfortress/CoPilot/commit/1b2c3f97243988301285b395ce4239769c66bd9e", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/socfortress/CoPilot/commit/1b2c3f97243988301285b395ce4239769c66bd9e" }, { "name": "https://github.com/socfortress/CoPilot/tree/v0.1.76", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/socfortress/CoPilot/tree/v0.1.76" } ], "affected": [ { "vendor": "socfortress", "product": "CoPilot", "versions": [ { "version": "< 0.1.76", "status": "affected" } ] } ], "providerMetadata": { "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M", "dateUpdated": "2026-10-30T14:24:04.762Z" }, "descriptions": [ { "lang": "en", "value": "SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. Prior to 0.1.76, `verify_graylog_header` in `backend/app/active_response/routes/graylog.py` and `verify_velociraptor_header` in `backend/app/incidents/routes/incident_alert.py` authenticate webhooks against `GRAYLOG_API_HEADER_VALUE` and `VELOCIRAPTOR_API_HEADER_VALUE` with the same publicly hardcoded fallback. The same default is shipped in `.env.example`. Deployments that leave either setting unset or unchanged permit an anonymous caller with the known header value to bypass the JWT authentication required by normal APIs. `POST /api/graylog/invoke` forwards attacker-selected `COMMAND`, `ACTION`, `VALUE` and `AGENT_ID` to the configured Wazuh manager without the command-enum validation of the authenticated invocation route, allowing active-response scripts to disrupt endpoints and manipulate defensive controls. `POST /api/incidents/alerts/create/threshold` and `POST /api/incidents/alerts/create/velo-sigma` accept forged alerts for arbitrary `customer_code` values and drive attacker-controlled OpenSearch queries. Active-response delivery requires a configured reachable Wazuh manager. Deployments with independently changed header secrets are not subject to this default-secret bypass. This issue is fixed in version 0.1.76." } ], "source": { "advisory": "GHSA-x8gc-f8p4-frc2", "discovery": "UNKNOWN" } } } }