Summary
CVE-2026-103055 is a hard-coded cryptographic key vulnerability (CWE-321/CWE-798) affecting AiSOC, a security operations platform, that allows unauthenticated attackers to forge valid real-time subscription tickets and access another tenant’s live alert, case, and agent data. The flaw exists because AiSOC’s realtime edge service falls back to a publicly known constant for JWT ticket verification whenever the AISOC_REALTIME_JWT_SECRET environment variable is not explicitly configured — a condition the vendor’s own deployment templates (Docker Compose and Helm charts) leave unmet by default. The issue carries a CVSS v4.0 base score of 8.7 (High) and affects AiSOC versions 7.5.0 through 11.2.0.
Technical details
- Root cause: The realtime service’s ticket-verification code (
resolveTicketSecret()inauth.ts) references a development-only fallback string,'aisoc-dev-realtime-ticket-secret-not-for-production', when no production secret is supplied. - Trigger conditions: The vendor-provided Docker Compose and Helm deployment manifests never set
AISOC_REALTIME_JWT_SECRET(or the relatedENVIRONMENT/AISOC_ENV/APP_ENVvariables) for the realtime container, so the environment-detection logic never switches into production mode and the fallback constant remains active in real deployments. - Attack vector: An attacker who knows the published constant can independently mint a JSON Web Token "ticket" and present it to the exposed WebSocket and Server-Sent-Events endpoints —
GET /ws/{alerts|cases|agents|insights|graph|all}?token=andGET /sse?token=— which the console proxy forwards without additional authentication checks. - Tenant confusion: Because the subscription’s target tenant is derived directly from the (forgeable) JWT claims, a crafted ticket can select any tenant identifier, granting cross-tenant access with no prior authentication or API interaction.
- Impact: Unauthenticated disclosure of live, streaming security data — alerts, case updates, agent/investigation events, and approval workflows — for arbitrary customer tenants. The vulnerability affects confidentiality only (no integrity or availability impact) but leaves no trace in API access logs since the attacker never contacts the primary API.
Affected software
- AiSOC (beenuar/AiSOC) versions 7.5.0 up to and including 11.2.0
- Fixed in AiSOC v12.0.0
Severity
- CVSS v4.0: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS v3.1: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N - Network-exploitable, low attack complexity, no privileges or user interaction required.
Mitigation and recommended actions
- Immediate: Upgrade AiSOC to v12.0.0 or later, which removes the hard-coded fallback constant, makes
resolveTicketSecret()fail closed when no secret is configured, and auto-generates a unique secret at first run. - If upgrading is not immediately possible:
- Explicitly set a strong, randomly generated
AISOC_REALTIME_JWT_SECRETvalue for the realtime service in all deployment environments (Docker Compose, Helm/Kubernetes) — do not rely on defaults. - Verify that
ENVIRONMENT(orAISOC_ENV/APP_ENV) is correctly propagated to the realtime container so production-mode checks activate. - Restrict network exposure of the
/ws/*and/sseendpoints (e.g., via network ACLs, WAF rules, or gateway authentication) until the secret is properly configured and the platform is patched. - Rotate the realtime JWT secret after remediation, since the previous default may have already been exposed.
- Explicitly set a strong, randomly generated

