Flowintel Alert Settings Configuration Allows Remote Code Execution via Arbitrary Configuration Keys
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
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-81662
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 19:28 UTC · Revision 1
Source evidence
Flowintel Alert Settings Configuration Allows Remote Code Execution via Arbitrary Configuration Keys
core-osv · Original sourcePublished 27 Aug 2026, 10:23 UTC
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
osv:CVE-2026-81662
Complete source record
{
"id": "0c188a72f74d79859a1d09014262763950f4fee24d39cad013bb970a08d1d40b",
"url": "https://osv.dev/vulnerability/CVE-2026-81662",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Flowintel Alert Settings Configuration Allows Remote Code Execution via Arbitrary Configuration Keys",
"summary": "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",
"evidence": "osv:CVE-2026-81662",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-81662",
"aliases": [
"CVE-2026-81662"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/flowintel/flowintel",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "d36171e22aed99055539260bec75e6355ada7d0c"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "3.3.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "d36171e22aed99055539260bec75e6355ada7d0c"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"3.3.0",
"3.2.0",
"3.1.0",
"3.0.0",
"2.3.0",
"2.2.1",
"2.1.1",
"2.1.0",
"2.0.0",
"1.6.2",
"1.6.1",
"1.6.0",
"1.5.0",
"1.4.1",
"1.4.0",
"1.3.1",
"1.3.0",
"1.2.0",
"1.1.0",
"1.0.0",
"0.8.0",
"0.7.0",
"0.6.0",
"0.5.1",
"0.5.0",
"0.4.0",
"0.3.0",
"0.2.1",
"0.2.0",
"0.1.0",
"0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-81662.json"
}
}
],
"modified": "2026-10-28T02:30:22.609743735Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/81xxx/CVE-2026-81662.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-81662",
"https://github.com/flowintel/flowintel/commit/d36171e22aed99055539260bec75e6355ada7d0c",
"https://github.com/flowintel/flowintel"
],
"provider_metadata": {
"cwe_ids": [
"CWE-20",
"CWE-94"
],
"cna_assigner": "CIRCL",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/81xxx/CVE-2026-81662.json"
}
},
"related_cves": [
{
"value": "CVE-2026-81662",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 489156,
"published_at": "2026-08-27T10:23:01.833+00:00"
}