Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted HTTP POST to login endpoint
-
DeliverySupply email with embedded CR/LF payload
-
ExploitWTForms validator not invoked, validation silently skipped
-
ExecutionUnsanitized email interpolated into warning and audit log calls
-
PersistCRLF splits log output into multiple physical lines
-
ImpactForged log entries written to security audit trail
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | No special conditions are required beyond network access to the Flowintel login endpoint on a deployment running version 3.3.0 or later. The CVSS vector PR:N confirms no authentication is needed; AC:L and AT:N confirm no race condition or special timing is required. The attacker only needs to submit an HTTP POST with a crafted email parameter - the login itself fails (no application access is gained), but the malformed input is written to logs before rejection. Exploitation is limited to log integrity: the attacker cannot extract data, execute code, or escalate privileges via this path. The primary factor limiting real-world impact is deployment scope - Flowintel installations restricted to internal networks or VPN-gated access have a substantially smaller attacker population than publicly exposed instances. |
| Impact | The CVSS 4.0 score of 6.9 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N accurately reflects that this is a network-accessible, zero-prerequisite integrity flaw with no confidentiality or availability impact. Real-world risk is elevated specifically for organizations that treat Flowintel audit logs as a trusted security record: forged entries could obscure actual intrusion attempts, attribute activity to wrong actors, or break SIEM parsers expecting structured single-line records. EPSS data was not provided in the available intelligence, and the vulnerability does not appear in CISA KEV, indicating no confirmed widespread active exploitation. The attack complexity is genuinely low - no authentication, no special configuration, one HTTP request - but the impact domain is narrow. Defenders should weight the risk against their logging pipeline's role in incident response: organizations using Flowintel audit logs as an authoritative source for compliance or forensic purposes face meaningfully higher practical risk than those using them only informally. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a POST request to the Flowintel login endpoint with an email field value such as attacker@evil.com\r\nINFO 2026-07-23 admin logged in successfully from 10.0.0.1. Because WTForms validation is never actually invoked, the input passes through to the logging layer, where the embedded CRLF causes the single logger.warning() call to produce two physical log lines - the injected second line appearing as a legitimate audit event. A security analyst reviewing post-incident logs would encounter a fabricated entry that could obscure the real attacker's activity or falsely implicate a legitimate user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Log injection in Flowintel versions 3.3.0 and later allows unauthenticated remote attackers to forge arbitrary log lines by supplying email values containing CR/LF characters at the login endpoint. The vulnerability traces to a misuse of WTForms validation - the code constructed a validator object via Email(email) without invoking it, leaving attacker-controlled input unsanitized before it was interpolated into both the standard warning logger and the custom audit logger via Python f-strings. No public exploit code has been identified and the vulnerability is not listed in CISA KEV, but the attack is trivially executable with a single HTTP request against any network-exposed deployment, and its impact falls directly on security logging integrity rather than application confidentiality or availability.
RemediationAI
Update Flowintel to the version incorporating commit 660b4cc405055a794f157d3e4612520f12fe85bf (https://github.com/flowintel/flowintel/commit/660b4cc405055a794f157d3e4612520f12fe85bf); a specific tagged release version was not confirmed in the available data, so verify the target release includes this commit before deploying. The patch corrects WTForms validator invocation, replaces f-string log interpolation with parameterized %r formatting, and adds _sanitize_log_fragment() across all log paths in the audit logger. If immediate patching is not feasible, restrict network access to the Flowintel login endpoint to trusted IP ranges - this reduces the attacker population but does not eliminate the flaw for any authenticated or authorized user who submits a crafted email. Additionally, configure any SIEM or log aggregation system ingesting Flowintel output to flag anomalous multi-line log entries or unexpected log record counts from the login path as a detection signal for active exploitation attempts.
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 a threat intelligence management platform developed by CIRCL, affected at CPE cpe:2.3:a:flowintel:flowintel:*:*:*:*:*:*:*:* from version 3.3.0 onward. The root cause is CWE-20 (Improper Input Validation) manifesting as a WTForms API misuse: calling Email(email) instantiates a validator object but never runs it - the correct invocation is Email()(form, form.email), which calls the validator against the form field and raises a ValidationError on malformed input. With validation silently skipped, raw email strings containing CR (\r) and LF (\n) characters reached two distinct log sinks: a warning logger using an f-string interpolation pattern, and the custom flowintel_log audit logger. Because neither sink encoded newlines, a single attacker-controlled login attempt could split into multiple physical log records. The patch addresses all three root causes: correct validator invocation, switch to parameterized logging (%r formatting), and introduction of _sanitize_log_fragment() applied uniformly to IP addresses, prefixes, messages, and key-value kwargs in the audit logger.
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:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable login form requires no authentication; integrity impact is limited to log file manipulation with no scope change beyond the vulnerable system.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
Affected versions of Flowintel incorrectly attempted to validate login email addresses by calling Email(email). That does not perform WTForms field validation; it merely constructs a validator object.
Consequently, malformed attacker-controlled email input could continue through the login process and be written to security-relevant logs. The vulnerable code inserted the supplied email into both a warning log and the custom audit logger. Since CR/LF characters were not escaped, an unauthenticated attacker could potentially inject additional physical log lines or forge misleading log entries.
The patch corrects the validation call to Email()(form, form.email), changes the standard logging call to parameterized logging, and introduces _sanitize_log_fragment() so carriage returns and line feeds are encoded instead of creating new records.
Version impacted >=3.3.0
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.
Persistent session hijacking is possible in Flowintel version 3.3.0 and later because the application fails to invalidat
Remote code execution in Flowintel's alerts settings update endpoint (versions >= 3.3.0) allows an authenticated high-pr
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
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-67133
GHSA-3hq8-r684-4qwf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB