Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit untrusted input to n8n workflow endpoint
-
ExploitInject single quote closing OData $filter literal
-
ExecutionRewritten query runs via stored Microsoft 365 credential
-
ImpactDump full mailbox contacts or redirect SharePoint write
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Query language parameterization
|
| Exploitation Conditions | Requires an n8n instance (vulnerable: <1.123.85, 2.x <2.43.5, or 2.44.x <2.44.1) running a workflow that uses the Microsoft Outlook contact getAll operation or the Microsoft SharePoint v1 item update/upsert operation AND that expression-binds untrusted external data (e.g. webhook or form input) into the affected $filter-backed parameter. This binding is the specific precondition reflected by AT:P - an instance with no such workflow, or one that only passes trusted/static values into those fields, is not exploitable. Impact is further limited to the scope of the stored Microsoft 365 credential: an attacker can read that mailbox's contacts or redirect writes within that SharePoint site, not escalate beyond the credential's permissions. Mitigations per the vendor: upgrade (the only complete fix), restrict instance access to trusted users, audit/remove untrusted bindings into these operations, apply network controls on feeding webhook endpoints, or deactivate affected workflows until patched. |
| Impact | This is a medium-severity, conditionally-exploitable issue rather than a drop-everything emergency. The input's CVSS 4.0 vector (6.9) shows AV:N/AC:L/PR:N/UI:N - network-reachable with no authentication or user interaction - but crucially includes AT:P, meaning a specific attack precondition must exist: a workflow must bind untrusted external input into the affected OData $filter parameter. Impact is real but bounded: VC:L to the n8n node and SC:H to the connected Microsoft 365 tenant (dumping an entire mailbox contact list), plus SI:L integrity impact from redirecting SharePoint writes, all confined to the stored credential's scope. The vuln.today decision label is 'this_month', not 'act_now' or 'emergency', which is consistent with the moderate score. No EPSS score was supplied, the CVE is NOT in CISA KEV, and no public exploit code is referenced - only vendor/coordinator advisories (GHSA, VulnCheck). Net: a legitimate issue to patch on a normal cycle, not a high-CVSS-but-no-substance finding, but also not evidence of widespread active exploitation. The 'Microsoft' vendor tag is misleading - the affected product is the open-source n8n automation platform, not a Microsoft product (see data_quality_flags). |
| Exploit ScenarioDerived | An n8n workflow exposes a webhook (or other external trigger) whose input is expression-bound into the Microsoft Outlook contact getAll $filter or the SharePoint v1 item update pre-write lookup. An attacker submits a value containing a single quote, closing the OData string literal and rewriting the query, so the Outlook node returns the bound mailbox's entire contact list instead of one match, or the SharePoint write is redirected onto an unintended list item within the stored credential's scope. No public exploit code is identified at time of analysis; the attack requires that a vulnerable workflow actually passes untrusted input into these fields. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
OData $filter injection in n8n's Microsoft Outlook contact lookup and Microsoft SharePoint v1 item update nodes lets an attacker who can feed untrusted data into those nodes' expression-bindable parameters dump an entire bound mailbox contact list or redirect SharePoint writes onto unintended list items. n8n builds these $filter string literals without escaping, so a single injected quote closes the literal and rewrites the query; the resulting impact stays inside the scope of the stored Microsoft 365 credential. Affected are npm n8n releases before 1.123.85, 2.x before 2.43.5, and 2.44.x before 2.44.1; exploitation is conditional on a workflow that binds untrusted external input (webhook or form data) into these operations, and no public exploit code has been identified at time of analysis. Vendor guidance treats upgrading as the only complete fix, with workflow auditing and access restriction as short-term measures.
RemediationAI
Vendor-released patch: upgrade to n8n 1.123.85, 2.43.5, or 2.44.1 (or later on the corresponding branch); the vendor describes upgrading as the complete remediation and states that the listed workarounds do not fully remove the risk. If upgrading is not immediately possible, the vendor's short-term measures are to restrict n8n instance access to fully trusted users only, to audit active workflows using the Microsoft Outlook contact 'getAll' operation or the Microsoft SharePoint v1 item update/upsert operation and remove any bindings that pass untrusted external data into the affected parameters, to apply network-level controls restricting access to webhook endpoints feeding those workflows, and to deactivate affected workflows until the instance is patched - each at the cost of reduced workflow availability or reduced integration reach. Advisory details are at https://github.com/n8n-io/n8n/security/advisories/GHSA-mgpr-56r4-5c67.
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
Microsoft Graph contact lookups and the SharePoint v1 item update/upsert logic use OData $filter expressions, where string values must be wrapped in single quotes and internal quotes escaped. n8n's Outlook contact 'getAll' and SharePoint v1 item update nodes assemble that $filter literal from parameters that workflows can bind to expressions, without escaping embedded single quotes, which is the CWE-943 (improper neutralization of special elements in data query logic) class. When a workflow routes untrusted input into those fields, the attacker-supplied quote terminates the literal and appends or rewrites filter clauses, so the Outlook lookup returns the whole contact set of the bound mailbox rather than a single contact, and the SharePoint pre-write lookup can resolve to a different list item so submitted field values are written where the workflow never intended. Both outcomes are constrained by the stored Microsoft 365 credential's permissions, which is why assessed confidentiality and integrity impact is low with changed scope (S:C). The assessed vector's AT:P reflects that the flaw is only reachable in deployments where an affected node is actually bound to untrusted external data; instances whose workflows pass only static or trusted values into these fields are not exploitable, and the trigger is not described further in the available sources. Removal of the flaw requires the upstream escaping fix rather than configuration alone.
Know when N8n 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:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:N
Remote and unauthenticated (AV:N/PR:N) but needs a workflow binding untrusted input into the node (AC:H); injection pivots through the stored M365 credential so S:C, with limited read (C:L) and write-redirect (I:L) impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
n8n before 1.123.85, 2.x before 2.43.5, and 2.44.x before 2.44.1 contains an OData $filter injection vulnerability in the Microsoft Outlook contact lookup and Microsoft SharePoint v1 item update nodes, which build $filter string literals from expression-bindable parameters without escaping. Attackers who supply untrusted input to such workflows can inject single quotes to dump the bound mailbox's entire contact list or redirect SharePoint writes onto unintended list items within the stored credential's scope.
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.
NoSQL injection exploits databases that don't use traditional SQL syntax-like MongoDB, CouchDB, or Redis-by manipulating queries through unsanitized user input.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
n8n workflow automation (through 1.121.2) allows authenticated users to execute arbitrary code via the n8n service, with
n8n workflow automation (1.65.0 to 1.121.0) allows unauthenticated file access through form-based workflows. A critical
n8n has a fifth critical RCE vulnerability (CVSS 9.9) in the Expression evaluator, enabling code execution through craft
Authenticated users who can create or modify an n8n workflow can achieve remote code execution on the n8n host by abusin
A prototype pollution vulnerability in the XML and GSuiteAdmin nodes of n8n workflow automation platform allows authenti
An authenticated user with workflow creation or modification privileges in n8n workflow automation platform can exploit
n8n-workflows Main Commit ee25413 allows attackers to execute a directory traversal via the download_workflow function w
Authenticated n8n users can hijack administrator accounts when LDAP authentication is enabled by manipulating their LDAP
The n8n package 0.218.0 for Node.js allows Escalation of Privileges. Rated high severity (CVSS 8.8), this vulnerability
SQL injection in n8n's Data Table Get node allows authenticated users with workflow modification permissions to execute
Authenticated users can exploit string formatting and exception handling in n8n's Python task executor to escape sandbox
EUVD-2026-112372
GHSA-rvxx-r8h9-hc4w
NVD
CVE.org
Exploit-DB