Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin credentials via phishing or reuse
-
DeliverySend crafted POST with newline-injected config key
-
ExploitFlowintel writes payload into conf/config_module.py
-
Executionimportlib.reload() executes injected Python in server process
-
ImpactAchieve arbitrary code execution as application user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated session with high-privilege access (PR:H per the provided CVSS 4.0 vector) to the Flowintel instance - specifically, authorization to call the alerts settings update endpoint. Unauthenticated and low-privilege users cannot reach the vulnerable code path. The target must be running Flowintel version 3.3.0 or later. The application process must have filesystem write access to conf/config_module.py, which is a standard deployment requirement and therefore expected in any default installation. No non-default configuration is required - any default Flowintel deployment of an affected version with the alerts feature active is vulnerable once high-privilege credentials are obtained. Exploitation is limited by: (1) the mandatory admin credential requirement; (2) network reachability to the Flowintel web interface; (3) absence of the vendor patch. |
| Impact | The CVSS 4.0 score of 8.6 with PR:H reflects that exploitation is gated behind high-privilege authentication, which materially reduces the realistic attacker population compared to unauthenticated vulnerabilities of similar impact. Once that gate is passed, however, exploitation is low-complexity (AC:L, AT:N) and delivers full confidentiality, integrity, and availability compromise of the vulnerable component (VC:H/VI:H/VA:H). No EPSS data was included in the provided intelligence, and the vulnerability is not in CISA KEV, indicating no confirmed active exploitation at time of analysis; no public proof-of-concept has been identified. The primary realistic threat vectors are credential compromise of an admin account, insider threat, or a chained attack that escalates privilege to then reach this endpoint. The network attack vector (AV:N) means any reachable Flowintel instance is in scope once credentials are obtained - even a mid-sized security operations team with an internet-exposed deployment should treat this as urgent given that RCE is the outcome. The vendor patch is available and the fix is straightforward; residual risk is low for patched instances. |
| Exploit ScenarioDerived | An attacker who has obtained valid high-privilege Flowintel credentials - through phishing, credential reuse against an exposed login page, or insider access - sends a crafted POST request to the alerts settings update endpoint with a configuration key embedding a newline and arbitrary Python (for example, 'WEBHOOK_ENABLED import subprocess; subprocess.Popen(["bash","-i","-c","..."])). Flowintel writes the tampered content into conf/config_module.py and calls importlib.reload(), executing the injected code in the running server process. The attacker achieves code execution with the privileges of the Flowintel process without any further interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Remote code execution in Flowintel's alerts settings update endpoint (versions >= 3.3.0) allows an authenticated high-privileged attacker to inject arbitrary Python statements into the application's live configuration module. The vulnerable endpoint in app/alerts/alerts.py interpolated attacker-supplied configuration keys directly into Python source written to conf/config_module.py, then triggered importlib.reload() - executing injected code in the server process. No public exploit has been identified and the vulnerability is not listed in CISA KEV, but successful exploitation yields full server-side code execution with the privileges of the Flowintel process.
RemediationAI
The primary remediation is to upgrade to a Flowintel release incorporating commit d36171e22aed99055539260bec75e6355ada7d0c, which introduces the ALLOWED_CONFIG_KEYS allowlist and eliminates the injection path entirely. An exact patched release version tag was not independently confirmed from the available intelligence - consult the Flowintel GitHub repository (https://github.com/flowintel/flowintel) for the current stable release incorporating this fix before deploying. If immediate upgrade is not feasible, restrict network access to the alerts configuration endpoint using a reverse proxy or firewall rules so that only trusted administrator source IPs can reach it; this reduces the attack surface but does not eliminate the vulnerability. Alternatively, if the alerts configuration update feature is not operationally required, disabling or removing access to that endpoint entirely is an effective compensating control with the trade-off of blocking legitimate alert configuration changes until patching is complete.
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
Flowintel is an open-source case management and alerting platform (CPE: cpe:2.3:a:flowintel:flowintel:*:*:*:*:*:*:*:*) used primarily by CSIRTs and incident response teams. The vulnerable code path in app/alerts/alerts.py wrote attacker-supplied configuration keys directly into conf/config_module.py using Python f-string interpolation - f'{key} = {py_val}' - and subsequently called importlib.reload() to activate the changes at runtime. The root cause is CWE-94 (Improper Control of Generation of Code): configuration values were normalized to typed Python literals, but the corresponding keys were used without validation or escaping in both the regex pattern and the generated assignment line. A key embedding a newline character could therefore introduce syntactically valid but attacker-controlled Python statements into the source file before the reload. The patch commit (d36171e22aed99055539260bec75e6355ada7d0c) closes the vector by introducing a strict ALLOWED_CONFIG_KEYS allowlist and applying re.escape() to keys before regex use, ensuring only known identifiers can be written.
Know when Flowintel 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:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable endpoint requires high-privilege auth; scope changes because arbitrary code executes in the server process, enabling impact beyond the application component to the underlying OS.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
Affected versions of Flowintel improperly trust configuration keys supplied to the alerts settings update endpoint. While configuration values were normalized to Python literals, the corresponding keys were used directly when constructing and replacing lines in conf/config_module.py.
The vulnerable code used requester-controlled keys in both the regular expression and the generated assignment:
f'{key} = {py_val}'
and appended an assignment if the key was not already present. The modified Python configuration module was subsequently reloaded using importlib.reload(). This creates a code-generation boundary in which specially crafted configuration keys can alter the Python source structure and result in execution of attacker-controlled Python statements.
Version impacted >=3.3.0
Articles & Coverage 1
Executive ViewAI
Flowintel versions 3.3.0 and later contain a vulnerability in the alerts configuration system that allows authenticated administrators to execute arbitrary code on the server. No public exploits have been identified at time of analysis, but the vulnerability represents a material risk for organizations with delegated alert management responsibilities. A vendor patch is available and should be applied immediately.
Apply vendor patch.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Persistent session hijacking is possible in Flowintel version 3.3.0 and later because the application fails to invalidat
Privilege escalation in Flowintel's administrative user-edit API allows an organization administrator to modify full adm
Remote code execution via log path traversal in Flowintel 3.3.0 and later is achievable by an authenticated administrato
Broken object-level authorization across Flowintel task endpoints allows authenticated editor-level users to perform una
Flowintel's PDF export pipeline passes attacker-controlled note content to Pandoc with the raw_tex extension enabled, al
Log injection in Flowintel versions 3.3.0 and later allows unauthenticated remote attackers to forge arbitrary log lines
Stored XSS via Vue template injection in FlowIntel allows an authenticated low-privilege user to persist malicious Vue i
Server-side request forgery in FlowIntel up to version 3.3.0 allows a low-privileged authenticated user to coerce the ap
Insufficient authorization on the Flowintel /my_assignment/user API endpoint allows any authenticated API user to retrie
Stored cross-site scripting in Flowintel case notes allows an authenticated low-privileged user to inject malicious Java
Stored cross-site scripting in Flowintel's calendar view (versions >= 3.3.0) allows an authenticated user with case-crea
Stored cross-site scripting in Flowintel's MISP timeline renderer allows an authenticated low-privileged attacker to inj
EUVD-2026-66997
GHSA-pvfv-9f26-pxv8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB