Read the docs
TI-2026-83106 Aliases CVE-2026-61728

SOCFortress CoPilot stored XSS enables privileged account takeover

Priority HIGH 76CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Cross-site scripting, Information disclosure
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79 and CWE-922.

Summary

Stored markup submitted through the alert comment endpoint in SOCFortress CoPilot is rendered with v-html without escaping or sanitization, and the same pattern affects SOC case, asset and health-check fields. When an analyst or administrator views the poisoned alert or case, the injected script runs on the application origin and reads access and refresh tokens, which the authentication store keeps in JavaScript-readable storage rather than HttpOnly cookies. The attacker can then impersonate the viewer, obtain fresh tokens through /auth/refresh, reach data in other tenants, modify or delete incidents, and subvert detection and response.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

SOCFortress CoPilot focuses on providing a single pane of glass for all your security operations needs. In affected snapshots preceding the respective 0.1.70 and 0.1.76 sink repairs, portal users, including `customer_user`, can submit stored markup through `POST /api/incidents/db_operations/alert/comment`. In `customer-portal/src/components/alerts/AlertDetails/AlertComment.vue`, `commentHtml` replaces newlines in `comment.comment` but passes the result to `v-html` without escaping or sanitizing HTML. When another user views the poisoned alert, stored script executes on the application origin; the same unsanitized rendering pattern affects server-stored SOC case, asset and health-check fields in `SocCaseNote.vue`, `SocCaseItem.vue`, `SocCaseAssetsItem.vue`, `SocAlertAssetsItem.vue` and `HealthcheckItem.vue`. The authentication store in `customer-portal/src/stores/auth.ts` persists both access and refresh tokens in JavaScript-readable storage, and `customer-portal/src/api/httpClient.ts` uses bearer headers rather than HttpOnly cookies. An injected script can steal both tokens, impersonate the viewer and obtain fresh tokens through `/auth/refresh`. If an analyst or administrator views the poisoned alert or case, this enables persistent privileged account takeover, cross-tenant data access, incident modification or deletion, and detection/response subversion. The health-check sink repair is first contained in version 0.1.70, while the comment and other SOC sink repairs are first contained in version 0.1.76. Version 0.1.76 is the provisional first release containing all observed repairs; grouped versus split CVE scope requires curator adjudication.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00459 39th percentileScored 2026-11-07
Fix Fixed CoPilot (socfortress): 0.1.76

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
socfortressCoPilotbefore 0.1.760.1.76Patch availableCNA
  • CoPilot Vendorsocfortress Affected before 0.1.76 Fixed in 0.1.76 Patch available CNA

Remediation

Upgrade to version 0.1.76, the first release containing all observed repairs. The health-check fix first appeared in 0.1.70, while the comment and other SOC field fixes first appeared in 0.1.76.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA CoPilot (socfortress) Fixed in 0.1.76

Timeline

  1. 2026-10-30 Threatist record created from CVE-2026-61728
  2. 2026-11-05 CISA SSVC decision points changed
  3. 2026-11-05 Priority changed: MEDIUM → HIGH

References

  • TI-2026-83110 Path traversal in SOCFortress CoPilot lets attackers write host files CVSS 3.1CRITICAL 10.0
  • TI-2026-31075 Improper authentication in socfortress CoPilot CVSS 3.1CRITICAL 10.0
  • TI-2026-83107 Hardcoded default secret in SOCFortress CoPilot allows auth bypass CVSS 3.1CRITICAL 9.4
  • TI-2026-83146 Authentication bypass in SOCFortress CoPilot Sigma exclusions CVSS 3.1HIGH 7.5
  • TI-2026-83108 SOCFortress CoPilot exposes ScoutSuite reports and GCP keys CVSS 3.1CRITICAL 9.3
  • TI-2026-82778 Stored template injection in SOCFortress CoPilot allows backend code execution CVSS 3.1CRITICAL 9.0
See all 7 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences