Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach actions-service port on internal network
-
DeliverySend unauthenticated response-action request
-
ExploitAuth guard self-exempts in default dev mode
-
ExecutionApprove and dispatch containment action
-
ImpactIsolate hosts or disable accounts via vendor credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the default Docker Compose deployment of AiSOC 9.0.0 through pre-12.0.0 where AISOC_DEV_MODE is enabled (the default) AND AISOC_ACTIONS_SERVICE_TOKEN is empty (also the shipped default, because the variable was never generated by 'make up' despite compose declaring it must match on the api and actions services). Under those conditions the authorization guard exempts itself and every mutating response-action route answers unauthenticated. The attacker must be able to reach the actions-service network port (adjacent/internal per AV:A), which limits internet-facing exposure. Exploitation is closed once the token is generated (v12.0.0 makes 'make up' create it so the guard fails closed and mutating routes return 503 without it), so upgrading or manually setting AISOC_ACTIONS_SERVICE_TOKEN remediates. |
| Impact | This is a genuine but deployment-gated authentication bypass (CWE-306) rather than a high-CVSS-but-low-risk paper cut. The vendor CVSS 4.0 base of 5.3 (AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N) understates the real-world consequence: an unauthenticated attacker who reaches the actions-service port can submit and approve response actions on behalf of arbitrary principals and dispatch containment actions (host isolation, account disable) using the platform's stored vendor credentials (e.g. CrowdStrike RTR). The impact is not merely 'low integrity' - it is unauthorized operation of a security-orchestration control plane against downstream managed endpoints. No EPSS, KEV, SSVC, or public POC data was supplied: exploitation status is 'no public exploit identified at time of analysis' despite a VulnCheck advisory and a vendor GitHub Security Advisory (GHSA-g4h7-p63q-r8r4). The one signal that tempers priority is that the flaw only manifests in the DEFAULT Docker Compose deployment (AISOC_DEV_MODE enabled and AISOC_ACTIONS_SERVICE_TOKEN empty) - which per the commit was every install, because the token variable was never generated even though compose claimed it 'must match', and the guard exempted itself when the token was empty and dev mode was set. So while a special condition is named, it was the shipped default, making default installs of 9.0.0-11.x live-vulnerable until upgraded. Conflict to note: vendor scored AV:A (adjacent) and low impact; I assess the impact materially higher given containment-action abuse against real hosts. |
| Exploit ScenarioDerived | An attacker who can reach the AiSOC actions-service HTTP port on the deployment's network (default Docker Compose, dev mode on, actions token never generated) sends unauthenticated requests to the response-action API, enumerates configured integrations, then submits and self-approves a containment action. The service executes it with the tenant's stored vendor credentials - isolating an arbitrary endpoint or disabling an account. No public exploit code was identified, but the guard's fail-open behavior is documented in the fix commit and requires no authentication. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 30, 2026
Missing authentication on AiSOC's response-action API endpoints lets adjacent-network attackers reach the actions service without credentials in versions 9.0.0 through 11.x when the shipped defaults are in use - AISOC_DEV_MODE enabled and AISOC_ACTIONS_SERVICE_TOKEN left empty. In that state the authorization guard in services/actions/app/security/authz.py exempts itself, so every mutating route answers unauthenticated, allowing an attacker to enumerate response-action integrations, submit and approve actions as arbitrary principals, and trigger host-isolation or account-disable containment actions through the platform's own vendor credentials. Exploitation is deployment-gated rather than universal: it requires network reachability to the actions-service port (adjacent/internal), and no public exploit code was identified at time of analysis. Vendor patching is available in AiSOC v12.0.0.
RemediationAI
Upgrade to AiSOC v12.0.0 (https://github.com/beenuar/AiSOC/releases/tag/v12.0.0), which makes the 'make up' bootstrap generate AISOC_ACTIONS_SERVICE_TOKEN via secrets.token_urlsafe(32) so the authorization guard fails closed and mutating routes return HTTP 503 when no token is present; the fix commit is dac39723404130312daba15d42d19114f09f75b2. If upgrading is not immediately possible, manually set AISOC_ACTIONS_SERVICE_TOKEN to a strong random value on both the api and actions services - they must match, and a mismatch produces the 503 fail-closed state for legitimate traffic - and additionally clear AISOC_DEV_MODE so the empty-token exemption cannot be re-entered by a later misconfiguration. Because exploitation requires reaching the actions-service port (AV:A), a network-layer compensating control is to restrict that port to the api service only, blocking adjacent attacker access; the trade-off is that any legitimate consumer outside that segment loses response-action functionality. Note this setting also removes the mutually-trusted bearer path if your deployment shares one credential across services, so rotate AISOC_SERVICE_TOKEN separately as the commit intends. The v12.0.0 release also adds RTR argument quoting in the CrowdStrike RTR client; if you cannot take the full release, the token change alone closes the authentication bypass but leaves that separate command-injection hardening unapplied. No public exploit code was identified at time of analysis, so there is no KEV-driven emergency deadline, but the default-configuration exposure warrants prompt action for internet-adjacent or flat internal deployments.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-306 (Missing Authentication for Critical Function) in AiSOC's Go/Python microservice deployment: the actions service exposes response-action APIs guarded by a bearer token compared against AISOC_ACTIONS_SERVICE_TOKEN, but the guard contains a development escape hatch that returns early - granting access - whenever the token is empty and AISOC_DEV_MODE is set. Both conditions were the shipped default because, despite docker-compose.yml declaring that AISOC_ACTIONS_SERVICE_TOKEN 'must match' between the api and actions services, the .env generator (scripts/ensure_env.py) never created the variable, so no install ever had one. The CPE cpe:2.3:a:beenuar:aisoc:*:*:*:*:*:*:*:* covers the affected line. Because the actions service brokers vendor integrations (the commit references CrowdStrike RTR clients), compromise has downstream impact beyond AiSOC itself: an unauthenticated caller can drive containment verbs that isolate endpoints or disable accounts using the customer's own security-vendor credentials. The independent assessment rates this CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:H - scope change with high integrity and availability impact - which is materially more severe than the vendor-vector reading of 5.3 (CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N), reflecting the contained scope of the CVE-4.0 vector versus the cross-boundary effect of arbitrary containment execution. The v12.0.0 fix commit also hardens adjacent code in the same service, adding quote_rtr_argument() with an _RTR_FORBIDDEN set (single quote, backtick, CR/LF, NUL) to stop command injection through RTR command strings built as text and parsed on endpoints - a separate defect class from the authentication bypass, bundled into the same release.
Know when Aisoc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Unauthenticated (PR:N) via reachable internal service port (AV:A, AC:L); scope change (S:C) because dispatched containment actions affect managed endpoints, with I:H/A:H from unauthorized isolate/disable and C:L from integration enumeration.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
AiSOC versions 9.0.0 before 12.0.0 fail to enforce authentication on the response-action API endpoints when AISOC_DEV_MODE is enabled and AISOC_ACTIONS_SERVICE_TOKEN is empty in the default Docker Compose deployment. Unauthenticated attackers can list response-action integrations, submit and approve actions on behalf of arbitrary principals, and dispatch containment actions using vendor credentials.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-89537
GHSA-xjh9-76cm-4wjr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB