Vulnerabilities in pkg:npm/n8n
PACKAGECVE-2026-86073 is a MODERATE remote code execution vulnerability (CWE-863: Incorrect Authorization) affecting n8n libraries in the npm ecosystem. The issue involves per-resource oauth consent bypass via unbound refresh token resource substitution. Remediation is available by upgrading affected packages to version 2.38.1, 2.37.7.
pkg:npm/n8n
Vulnerability advisories affecting package pkg:npm/n8n. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-cw9w-vv67-hf73 | CVE-2026-86073 | MODERATE | n8n: Per-Resource OAuth Consent Bypass via Unbound Refresh Token Resource Substitution |
| GHSA-q5wm-mgqx-fv2f | CVE-2026-86074 | MODERATE | n8n: Instance AI Credential Setup Accepts Unvalidated Probe URL from Fetched Content |
| GHSA-qgpw-8g46-w95v | CVE-2026-86995 | MODERATE | n8n: Git Node branch.<name>.remote Config Key Bypasses Sandbox Path Restriction, Enabling Local Git Repository Read |
| GHSA-cqr2-h44g-v75v | CVE-2026-86085 | MODERATE | n8n: Cross-Tenant Project-Member PII Disclosure via Missing Per-Project Scope Check on Role Assignment Endpoints |
| GHSA-pq6c-vh67-xpm3 | CVE-2026-86993 | MODERATE | n8n: Log Streaming Event Destinations Decrypt Generic-Auth Credentials Without Ownership Check |
| GHSA-pf83-w3f9-8m37 | CVE-2026-86084 | MODERATE | n8n: Disabled OIDC SSO Endpoints Remain Active and Issue Valid Sessions |
| GHSA-5m98-cgcr-xx3q | CVE-2026-86080 | MODERATE | n8n: GitHub Trigger 422 Reuse Path Skips Webhook Secret Storage, Causing Signature Verification to Fail-Open |
| GHSA-f2cp-m7mv-8jpv | CVE-2026-86079 | MODERATE | n8n: Path Injection in Elasticsearch and ElasticSecurity Nodes via Unencoded Identifiers |
| GHSA-679f-58pq-4v2c | CVE-2026-86078 | MODERATE | n8n: Prototype Pollution via Workflow Structure Summary Can Lead to Denial of Service |
| GHSA-65xw-2v52-jhxc | CVE-2026-86994 | MODERATE | n8n: Cross-User Active Workflow ID and Lifecycle Event Disclosure via Missing userId Filter |
| GHSA-6xcw-7xm6-48c6 | CVE-2026-86083 | HIGH | n8n: Expression Sandbox Escape via Shared Builtin Tampering and Code-Printer Injection Leads to Code Execution |
| GHSA-35jj-42hp-8gmq | CVE-2026-86077 | MODERATE | n8n: Anonymous Approval-Gate Bypass via Reused resumeToken over the Chat WebSocket |
| GHSA-34ff-336r-5q23 | CVE-2026-86082 | HIGH | n8n: Domain-Restriction Bypass via Unguarded Model-Search Endpoint in OpenAI Chat Model Node |
| GHSA-j535-v25q-vx3q | CVE-2026-86081 | HIGH | n8n: Regular Expression Denial of Service in the Default Blocked-File-Pattern Match via a Git Node Clone Path |
| GHSA-hh89-3r9w-qj3j | CVE-2026-86075 | HIGH | n8n: Unauthenticated Persistent Storage Exhaustion via OAuth Dynamic Client Registration Endpoint |
| GHSA-hw8v-xxg5-vvvx | CVE-2026-86076 | HIGH | n8n: Expression Sandbox Escape via Class-Field Sanitizer Rebinding Can Lead to Code Execution |
| GHSA-7hgx-277f-7vmg | CVE-2026-86996 | MODERATE | n8n: Agent Workflow Tool Bypasses Sub-Workflow Caller Policy |
| GHSA-652q-gvq3-74qv | - | MODERATE | n8n: Snowflake Node executeQuery Operation Allows SQL Injection via Unparameterized Expression Interpolation |
| GHSA-jqwr-vx3p-r266 | - | MODERATE | n8n: PostgresTrigger Node SQL Injection Allows Authenticated Users to Execute Arbitrary SQL on Connected PostgreSQL Instances |
| GHSA-9cmh-xcqm-5hqr | - | MODERATE | n8n: Cross-Tenant Module-Cache Poisoning in the JS Task Runner |
| GHSA-89gh-3pgc-v5h2 | CVE-2026-65589 | MODERATE | n8n: Custom Header Credential Values Leaked in Plaintext into LLM Node Execution Data |
| GHSA-fmvg-vhqq-r2mj | - | MODERATE | Duplicate Advisory: Custom Header Credential Values Leaked in Plaintext into LLM Node Execution Data |
| GHSA-33q9-f52j-gc75 | CVE-2026-65014 | MODERATE | n8n: Unauthenticated Endpoint Allows Cancellation of Any User's Active Test Webhook |
| GHSA-h9fm-xcv2-qfw3 | - | MODERATE | Duplicate Advisory: Unauthenticated Endpoint Allows Cancellation of Any User's Active Test Webhook |
| GHSA-gq66-9cw5-j5jm | CVE-2026-65596 | MODERATE | n8n: GraphQL Node Bypasses "Allowed HTTP Request Domains" Restriction |
| GHSA-88c4-pcqm-3r9p | - | MODERATE | Duplicate Advisory: GraphQL Node Bypasses "Allowed HTTP Request Domains" Restriction |
| GHSA-q5xf-xhwf-cwqf | CVE-2026-65594 | MODERATE | n8n: Member-Level Users Can Execute Other Users' MCP Server Trigger Workflows via Missing OAuth Authorization Check |
| GHSA-5vfw-jc4p-fj39 | - | MODERATE | Duplicate Advisory: Member-Level Users Can Execute Other Users' MCP Server Trigger Workflows via Missing OAuth Authorization Check |
| GHSA-fpg6-x68q-5793 | CVE-2026-65590 | MODERATE | n8n: computer-use Shell Sandbox Not Enforced on Linux and Windows |
| GHSA-w867-jm58-p9pv | CVE-2026-58661 | MODERATE | n8n: Authenticated Users Can Exhaust Temporary Disk Storage via Data-Table File Uploads |
| GHSA-2vww-6p9h-5g8j | - | MODERATE | Duplicate Advisory: Authenticated Users Can Exhaust Temporary Disk Storage via Data-Table File Uploads |
| GHSA-2xgm-wc4g-5jvg | CVE-2026-59253 | MODERATE | n8n: Improper Authorization Allows Authenticated Users to Assign Workflows to Folders in Other Projects |
| GHSA-gqcv-rfj6-r29g | - | MODERATE | Duplicate Advisory: Improper Authorization Allows Authenticated Users to Assign Workflows to Folders in Other Projects |
| GHSA-2434-3x6q-8r99 | CVE-2026-59254 | MODERATE | n8n: External Secrets Accessible via Workflow Expressions Outside Credentials |
| GHSA-3j7v-fhjg-6rh2 | - | MODERATE | Duplicate Advisory: n8n: External Secrets Accessible via Workflow Expressions Outside Credentials |
| GHSA-hwmj-qg4v-cvg9 | CVE-2026-59257 | MODERATE | n8n: MySQL v1 Node executeQuery Operation Allows SQL Injection via Unparameterized Expression Interpolation |
| GHSA-2qp2-6frj-p9pq | - | MODERATE | Duplicate Advisory: MySQL v1 Node executeQuery Operation Allows SQL Injection via Unparameterized Expression Interpolation |
| GHSA-jp7m-xcgx-57qm | CVE-2026-59259 | MODERATE | n8n: External Secrets Permission Bypass via Expression Parser Mismatch |
| GHSA-q6mx-qvhp-fqmg | - | MODERATE | Duplicate Advisory: External Secrets Permission Bypass via Expression Parser Mismatch |
| GHSA-pf2q-pxhf-hgmw | - | MODERATE | n8n: Path-Confinement Bypass in computer-use search_files Allows Reading Files Outside the Base Directory |
| GHSA-hx4h-vr3m-45vh | - | MODERATE | n8n: Prototype Pollution via VM Expression Engine Sandbox Escape Leads to Denial of Service |
| GHSA-xwx6-jjhv-84p8 | - | HIGH | n8n: Prototype Pollution via Dot-Notation Field Names Leads To Instance-Wide Denial of Service |
| GHSA-xmc9-4f2h-jf9c | - | HIGH | n8n: Edit Image Node Format Injection Allows Arbitrary File Write |
| GHSA-cj9h-qx8g-pq2g | - | HIGH | n8n: Shared-Workflow Editor Can Exfiltrate Credentials via Inline Sub-Workflow JSON |
| GHSA-6qc9-mqvw-jg7x | - | HIGH | n8n: Credential Authorization Bypass via Expression in HTTP Request Node `genericAuthType` |
| GHSA-gv7g-jm28-cr3m | - | HIGH | n8n: Expression sandbox escape via arrow-function bodies enabling command execution |
| GHSA-2x35-3fw4-9jr4 | - | HIGH | n8n: Send Email Node Arbitrary File Read and SSRF via Nodemailer Content-Object Type Confusion |
| GHSA-rcv6-pvrj-4xcg | - | HIGH | n8n: Authenticated code execution in the n8n Git node |
| GHSA-vhf8-cg2h-cg3p | - | MODERATE | n8n: SSRF Protection Bypass via MCP Client Node |
| GHSA-gf29-4f56-r2jf | - | HIGH | n8n: Git Node fetch/pull/pushTags Operations Bypass Sandbox Path Restriction |
| GHSA-64xh-79j6-r5v8 | - | HIGH | n8n: Bypass "Allowed HTTP Request Domains" Credential Restriction in Multiple AI and LLM Nodes |
| GHSA-8342-988q-86cr | - | HIGH | n8n: Account Takeover via Unverified Email Claim in Token Exchange Embed Login |
| GHSA-35q8-9mj6-wjmf | CVE-2026-65016 | HIGH | n8n: SSO Instance-Role Provisioning Allows Privilege Escalation to Instance Owner |
| GHSA-mwq7-vcmc-cm4q | - | HIGH | Duplicate Advisory: SSO Instance-Role Provisioning Allows Privilege Escalation to Instance Owner |
| GHSA-pm35-fqvh-cq5g | CVE-2026-65591 | HIGH | n8n: Legacy Expression Evaluator Sanitizer Bypass Leads to Authenticated Code Execution |
| GHSA-m7jc-p4hf-xhwq | - | HIGH | Duplicate Advisory: Legacy Expression Evaluator Sanitizer Bypass Leads to Authenticated Code Execution |
| GHSA-9w78-79q7-r4fp | CVE-2026-65593 | MODERATE | n8n: Authenticated SSRF via Dynamic Node Parameters Endpoints Allows Internal Network Access |
| GHSA-38fj-36m5-783c | - | MODERATE | Duplicate Advisory: Authenticated SSRF via Dynamic Node Parameters Endpoints Allows Internal Network Access |
| GHSA-777w-rpr6-c52h | CVE-2026-65595 | HIGH | n8n: Privilege Escalation and Code Execution via Full Public API Key Scope Assignment to Token Exchange JWTs |
| GHSA-wq64-hcrf-8m56 | - | HIGH | Duplicate Advisory: n8n: Privilege Escalation and Code Execution via Full Public API Key Scope Assignment to Token Exchange JWTs |
| GHSA-mq3m-f8x3-579w | CVE-2026-59208 | HIGH | n8n: Cross-Issuer Token Exchange Account Binding via Subject-Only Identity Resolution |
| GHSA-h44j-f5r5-ph73 | CVE-2026-59207 | HIGH | n8n: "Allowed HTTP Request Domains" Restriction Bypass via AI Agents MCP Connector |
| GHSA-75qm-gp28-rcq9 | CVE-2026-59206 | HIGH | n8n: Prototype Pollution via Workflow Credentials Leads to Unauthenticated User and Project Enumeration |
| GHSA-q3j5-8vrg-4p9q | CVE-2026-59209 | HIGH | n8n: Shared Credential Header Leak via HTTP Request Pagination Expression |
| GHSA-9r8p-h6cc-6qhm | CVE-2026-65599 | MODERATE | n8n: Google Service Account Private Key Exposed in JWT Header |
| GHSA-mhvh-gwhr-76pw | - | MODERATE | Duplicate Advisory: Google Service Account Private Key Exposed in JWT Header |
| GHSA-9wcp-9r3j-383q | CVE-2026-65592 | HIGH | n8n: Stored DOM XSS via Resource Locator `cachedResultUrl` |
| GHSA-h5xr-fqvj-253p | - | HIGH | Duplicate Advisory: Stored DOM XSS via Resource Locator `cachedResultUrl` |
| GHSA-p3rg-hrf9-w9gj | CVE-2026-65597 | HIGH | n8n: DOM-Based XSS via Unsandboxed iframe srcdoc in HTML Preview |
| GHSA-g3r5-9h93-4j2c | CVE-2026-65598 | HIGH | n8n: Race Condition in Git Clone Node Allows Authenticated Users to Achieve Remote Code Execution |
| GHSA-x5vx-c2c8-m3w9 | CVE-2026-65015 | HIGH | n8n: AI Agents Project Viewer Privilege Escalation via run_node_tool |
| GHSA-vhcw-f978-xjjg | - | HIGH | Duplicate Advisory: DOM-Based XSS via Unsandboxed iframe srcdoc in HTML Preview |
| GHSA-725q-c4vp-q4cg | - | HIGH | Duplicate Advisory: Race Condition in Git Clone Node Allows Authenticated Users to Achieve Remote Code Execution |
| GHSA-w46p-w7w2-fr9g | - | HIGH | Duplicate Advisory: AI Agents Project Viewer Privilege Escalation via run_node_tool |
| GHSA-q4fm-pjq6-m63g | CVE-2026-56358 | MODERATE | n8n has a Stored XSS Vulnerability in its Form Trigger |
| GHSA-f3f2-mcxc-pwjx | CVE-2026-56351 | MODERATE | n8n: SQL Injection in MySQL, PostgreSQL, and Microsoft SQL nodes |
| GHSA-2vff-hj5x-8gq7 | CVE-2026-54306 | MODERATE | n8n: Prototype Pollution enables confused-deputy execution via public webhooks |
| GHSA-rm2v-h48j-895m | CVE-2026-54304 | HIGH | n8n: SecurityScorecard Node Leaks API Token to User-Controlled Host |
| GHSA-2j5h-858j-5mpf | CVE-2026-54305 | HIGH | n8n: Cross-Tenant Credential Takeover via Dynamic Credentials EE Endpoints |
| GHSA-42h7-m79w-wvg5 | CVE-2026-54302 | HIGH | n8n: Stored XSS in Chat Trigger Node |
| GHSA-v733-mwr6-fgcm | CVE-2026-54301 | HIGH | n8n: Same-Origin XSS in Respond to Webhook Node |
| GHSA-jvc7-762p-3743 | CVE-2026-54308 | MODERATE | n8n: Missing Token Validation on Microsoft Agent 365 Trigger and Stripe Nodes |
| GHSA-5xp3-2w67-427v | CVE-2026-49465 | MODERATE | n8n: Git Node Clone and Push Operations Bypass File Sandbox |
| GHSA-9pq8-m8gp-4p53 | CVE-2026-49444 | HIGH | n8n: Python sandbox escape |
| GHSA-6h4j-wcr9-2vg7 | CVE-2026-45732 | HIGH | n8n Has a Cross-user Authorization Bypass in Dynamic Credential OAuth Endpoints |
| GHSA-mhrx-qhrj-673w | CVE-2026-44792 | HIGH | n8n Has a Source Control Pull SQL Injection |
| GHSA-wrwr-h859-xh2r | CVE-2026-44791 | CRITICAL | n8n Has an XML Node Prototype Pollution Patch Bypass |
| GHSA-57g9-58c2-xjg3 | CVE-2026-44790 | CRITICAL | n8n Has an Arbitrary File Read via Git Node |
| GHSA-c8xv-5998-g76h | CVE-2026-44789 | CRITICAL | n8n: HTTP Request Node Pagination Prototype Pollution to RCE |
| GHSA-jqpw-qww5-cj4c | CVE-2026-54314 | MODERATE | n8n: Denial of Service via ZIP decompression in webhook workflow |
| GHSA-qrx8-25qr-5r7v | CVE-2026-54309 | HIGH | n8n: MCP Browser HTTP Transport Exposes Unauthenticated Browser-Control Sessions |
| GHSA-h86q-fx34-gfjr | CVE-2026-54303 | MODERATE | n8n: Reflected XSS via Facebook, WhatsApp, and Microsoft Teams Trigger Webhook Verification Endpoints |
| GHSA-x6p3-m6h9-fx7r | CVE-2026-54312 | HIGH | n8n: Microsoft SQL Node Prototype Pollution |
| GHSA-9c38-2mcm-q7f7 | CVE-2026-54311 | MODERATE | n8n: Merge Node SQL Mode Prototype Pollution |
| GHSA-jpq7-226w-6cxx | CVE-2026-54313 | MODERATE | n8n: NoSQL Injection in MongoDB Node Find And Replace Operation |
| GHSA-c37g-w77q-m4vp | CVE-2026-54310 | MODERATE | n8n: SQL Injection in Postgres v1/TimesclaeDB Nodes |
| GHSA-3875-8gcx-7v46 | CVE-2026-56348 | MODERATE | n8n: Credential exfiltration via Allowed HTTP Request Domains Bypass |
| GHSA-mqpr-49jj-32rc | CVE-2026-56357 | MODERATE | n8n: Webhook Forgery on Github Webhook Trigger |
| GHSA-pmqw-72cg-wx85 | CVE-2026-54307 | HIGH | n8n: Credential Exfiltration via Permission Bypass |
| GHSA-664h-gpgq-h6xx | - | MODERATE | n8n: Wrong OAuth Scope on Evaluation Test Runs Endpoints |
| GHSA-h3jj-5f3v-3685 | - | MODERATE | n8n: Public API Execution Retry Authorization Bypass |
| GHSA-jwm3-qcfw-c5pp | - | MODERATE | n8n: Python Code Node AST Validator Bypass |
| GHSA-hv7x-3x78-gx53 | - | MODERATE | n8n: Wrong OAuth Scope On Evaluations Test Run Creation Endpoint |
| GHSA-2vx9-7wpg-88jq | - | MODERATE | n8n: Legacy ExecuteWorkflow Node Bypassed File Path Restrictions |
| GHSA-hqr4-h3xv-9m3r | CVE-2026-42232 | CRITICAL | n8n has XML Node Prototype Pollution that to RCE |
| GHSA-q5f4-99jv-pgg5 | CVE-2026-42231 | CRITICAL | n8n has Prototype Pollution in XML Webhook Body Parser that Leads to RCE |
| GHSA-537j-gqpc-p7fq | CVE-2026-42235 | HIGH | n8n Vulnerable to XSS via MCP OAuth client |
| GHSA-r4v6-9fqc-w5jr | CVE-2026-42226 | HIGH | n8n's Credential Authorization Bypass in dynamic-node-parameters Allows Foreign API Key Replay |
| GHSA-44v6-jhgm-p3m4 | CVE-2026-42234 | HIGH | n8n has a Python Task Runner Sandbox Escape Vulnerability |
| GHSA-756q-gq9h-fp22 | CVE-2026-42227 | MODERATE | n8n has Public API Variables IDOR that Allows Cross-Project Secret Disclosure |
| GHSA-49m9-pgww-9vq6 | CVE-2026-42236 | HIGH | n8n Vulnerable to Unauthenticated Denial of Service via MCP Client Registration |
| GHSA-f77h-j2v7-g6mw | CVE-2026-42228 | MODERATE | n8n Vulnerable to Hijacking of Unauthenticated Chat Execution |
| GHSA-mp4j-h6gh-f6mp | CVE-2026-42229 | MODERATE | n8n has SQL Injection in SeaTable Node |
| GHSA-f6x8-65q6-j9m9 | CVE-2026-42230 | MODERATE | n8n has Open Redirect in MCP OAuth Consent Flow |
| GHSA-r6jc-mpqw-m755 | CVE-2026-42233 | MODERATE | n8n has SQL Injection in Oracle Database Node via Limit Field |
| GHSA-hp3c-vfpm-q4f7 | CVE-2026-42237 | MODERATE | n8n has SQL Injection in Snowflake and MySQL Nodes |
| GHSA-3c7f-5hgj-h279 | - | MODERATE | n8n has XSS in Chat Trigger Node through Custom CSS |
| GHSA-xvh5-5qg4-x9qp | CVE-2026-27496 | HIGH | n8n has In-Process Memory Disclosure in its Task Runner |
| GHSA-364x-8g5j-x2pr | - | MODERATE | n8n has XSS in its Credential Management Flow |
| GHSA-w673-8fjw-457c | - | MODERATE | n8n: Authenticated XSS and Open Redirect via Form Node |
| GHSA-w83q-mcmx-mh42 | CVE-2026-33751 | MODERATE | n8n Vulnerable to LDAP Filter Injection in LDAP Node |
| GHSA-qfc3-hm4j-7q77 | CVE-2026-33749 | MODERATE | n8n Vulnerable to XSS via Binary Data Inline HTML Rendering |
| GHSA-98c2-4cr3-4jc3 | CVE-2026-33713 | HIGH | n8n has SQL Injection in Data Table Node via orderByColumn Expression |
| GHSA-mxrg-77hm-89hv | CVE-2026-33696 | CRITICAL | n8n: Prototype Pollution in XML and GSuiteAdmin node parameters lead to RCE |
| GHSA-43v7-fp2v-68f6 | CVE-2026-33724 | MODERATE | n8n's Source Control SSH Configuration Uses StrictHostKeyChecking=no |
| GHSA-fxcw-h3qj-8m8p | CVE-2026-33722 | HIGH | n8n Has External Secrets Authorization Bypass in Credential Saving |
| GHSA-vpgc-2f6g-7w7x | CVE-2026-33720 | MODERATE | n8n Has Authorization Bypass in OAuth Callback via N8N_SKIP_AUTH_ON_OAUTH_CALLBACK |
| GHSA-c545-x2rh-82fc | CVE-2026-33665 | HIGH | n8n: LDAP Email-Based Account Linking Allows Privilege Escalation and Account Takeover |
| GHSA-m63j-689w-3j35 | CVE-2026-33663 | HIGH | n8n is Vulnerable to Credential Theft via Name-Based Resolution and Permission Checker Bypass in Community Edition |
| GHSA-58qr-rcgv-642v | CVE-2026-33660 | CRITICAL | n8n has Multiple Remote Code Execution Vulnerabilities in Merge Node AlaSQL SQL Mode |
| GHSA-8398-gmmx-564h | CVE-2026-25115 | CRITICAL | n8n has a Python sandbox escape |
| GHSA-v98v-ff95-f3cp | CVE-2025-68613 | CRITICAL | n8n Vulnerable to Remote Code Execution via Expression Injection |
| GHSA-2p9h-rqjw-gm92 | CVE-2026-27578 | HIGH | n8n Vulnerable to Stored XSS via Various Nodes |
| GHSA-vpcf-gvg4-6qwr | CVE-2026-27577 | CRITICAL | n8n: Expression Sandbox Escape Leads to RCE |
| GHSA-x2mw-7j39-93xq | CVE-2026-27498 | CRITICAL | n8n has Arbitrary Command Execution via File Write and Git Operations |
| GHSA-wxx7-mcgf-j869 | CVE-2026-27497 | CRITICAL | n8n has Potential Remote Code Execution via Merge Node |
| GHSA-jjpj-p2wh-qf23 | CVE-2026-27495 | CRITICAL | n8n has a Sandbox Escape in its JavaScript Task Runner |
| GHSA-mmgg-m5j7-f83h | CVE-2026-27494 | HIGH | n8n has Arbitrary File Read via Python Code Node Sandbox Escape |
| GHSA-75g8-rv7v-32f7 | CVE-2026-27493 | CRITICAL | n8n has Unauthenticated Expression Evaluation via Form Node |
| GHSA-38c7-23hj-2wgq | - | MODERATE | n8n has Webhook Forgery on Zendesk Trigger Node |
| GHSA-fvfv-ppw4-7h2w | - | MODERATE | n8n has a Guardrail Node Bypass |
| GHSA-jh8h-6c9q-7gmw | - | MODERATE | n8n has an Authentication Bypass in its Chat Trigger Node |
| GHSA-vjf3-2gpj-233v | - | MODERATE | n8n has an SSO Enforcement Bypass in its Self-Service Settings API |
| GHSA-2xcx-75h9-vr9h | CVE-2026-25631 | MODERATE | n8n's domain allowlist bypass enables credential exfiltration |
| GHSA-gfvg-qv54-r4pc | CVE-2026-25052 | CRITICAL | n8n's Improper File Access Controls Allow Arbitrary File Read by Authenticated Users |
| GHSA-825q-w924-xhgx | CVE-2026-25051 | HIGH | n8n's Improper CSP Enforcement in Webhook Responses May Allow Stored XSS |
| GHSA-6cqr-8cfr-67f8 | CVE-2026-25049 | CRITICAL | n8n Has Expression Escape Vulnerability Leading to RCE |
| GHSA-7c4h-vh2m-743m | CVE-2026-21893 | CRITICAL | n8n Vulnerable to Command Injection in Community Package Installation |
| GHSA-49mx-fj45-q3p6 | CVE-2025-61917 | HIGH | n8n's Unsafe Buffer Allocation Allows In-Process Memory Disclosure in Task Runner |
| GHSA-hv53-3329-vmrm | CVE-2026-25056 | CRITICAL | n8n Merge Node has Arbitrary File Write leading to RCE |
| GHSA-m82q-59gv-mcr9 | CVE-2026-25055 | HIGH | n8n Vulnerable to Arbitrary File Write on Remote Systems via SSH Node |
| GHSA-qpq4-pw7f-pp8w | CVE-2026-25054 | HIGH | n8n Has Stored Cross-site Scripting via Markdown Rendering in Workflow UI |
| GHSA-9g95-qf3f-ggrw | CVE-2026-25053 | CRITICAL | n8n has OS Command Injection in Git Node |
| GHSA-5xrp-6693-jjx9 | CVE-2026-1470 | CRITICAL | n8n Unsafe Workflow Expression Evaluation Allows Remote Code Execution |
| GHSA-w96v-gf22-crwp | CVE-2025-68949 | MODERATE | n8n: Webhook Node IP Whitelist Bypass via Partial String Matching |
| GHSA-v4pr-fm98-w9pg | CVE-2026-21858 | CRITICAL | n8n Vulnerable to Unauthenticated File Access via Improper Webhook Request Handling |
| GHSA-jf52-3f2h-h9j5 | CVE-2026-21894 | MODERATE | n8n's Missing Stripe-Signature Verification Allows Unauthenticated Forged Webhooks |
| GHSA-v364-rw7m-3263 | CVE-2026-21877 | CRITICAL | n8n Vulnerable to RCE via Arbitrary File Write |
| GHSA-62r4-hw23-cc8v | CVE-2025-68668 | CRITICAL | n8n Vulnerable to Arbitrary Command Execution in Pyodide based Python Code Node |
| GHSA-j4p8-h8mh-rh8q | CVE-2025-68697 | HIGH | Self-hosted n8n has Legacy Code node that enables arbitrary file read/write |
| GHSA-58jc-rcg5-95f3 | CVE-2025-61914 | HIGH | n8n's Possible Stored XSS in "Respond to Webhook" Node May Execute Outside iframe Sandbox |
| GHSA-wpqc-h9wp-chmq | CVE-2025-65964 | CRITICAL | n8n vulnerable to Remote Code Execution via Git Node Custom Pre-Commit Hook |
| GHSA-xgp7-7qjq-vg47 | CVE-2025-62726 | HIGH | n8n Vulnerable to Remote Code Execution via Git Node Pre-Commit Hook |
| GHSA-365g-vjw2-grx8 | - | HIGH | n8n: Execute Command Node Allows Authenticated Users to Run Arbitrary Commands on Host |
| GHSA-mvh4-2cm2-6hpg | CVE-2025-58177 | MODERATE | Stored XSS in n8n LangChain Chat Trigger Node via initialMessages Parameter |
| GHSA-ggjm-f3g4-rwmm | CVE-2025-57749 | MODERATE | n8n symlink traversal vulnerability in "Read/Write File" node allows access to restricted files |
| GHSA-hfmv-hhh3-43f2 | CVE-2025-52478 | HIGH | Stored XSS in n8n Form Trigger allows Account Takeover via injected iframe and video/source |
| GHSA-gq57-v332-7666 | CVE-2025-52554 | MODERATE | n8n is vulnerable to Improper Authorization through its `/stop` endpoint |
| GHSA-pr9r-gxgp-9rm8 | CVE-2025-49595 | MODERATE | n8n Vulnerable to Denial of Service via Malformed Binary Data Requests |
| GHSA-5vj6-wjr7-5v9f | CVE-2025-49592 | MODERATE | n8n allows open redirects via the /signin endpoint |
| GHSA-c8hm-hr8h-5xjw | CVE-2025-46343 | MODERATE | n8n Vulnerable to Stored XSS through Attachments View Endpoint |
| GHSA-r9xw-p7wj-w792 | CVE-2023-27564 | HIGH | n8n Information Disclosure vulnerability |
| GHSA-97cp-mr4m-9mcf | CVE-2023-27563 | HIGH | n8n Privilege Escalation vulnerability |
| GHSA-p58x-7733-vp9m | CVE-2023-27562 | MODERATE | n8n Directory Traversal vulnerability |
CVE-2026-86073 at a Glance
How to Fix CVE-2026-86073
To remediate this vulnerability, upgrade all affected n8n dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install n8n@2.38.1
npm install n8n@2.37.7
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls n8n
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-86073, inspect your project dependencies using npm:
npm ls n8n
Analyze the terminal output to locate any version of n8n in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.38.1), your application is affected.
Note: The npm ls n8n command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-863: Incorrect Authorization, where the product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. In n8n, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-86073 Affected n8n Versions
2 component(s)References
Frequently Asked Questions
What is CVE-2026-86073?
Which n8n versions are affected?
What version fixes CVE-2026-86073?
Is n8n affected?
What CWE is associated with CVE-2026-86073?
How can I check npm dependencies for CVE-2026-86073?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-cw9w-vv67-hf73",
"modified" : "2026-09-10T21:21:49Z",
"published" : "2026-09-10T21:21:49Z",
"aliases" : [ "CVE-2026-86073" ],
"summary" : "n8n: Per-Resource OAuth Consent Bypass via Unbound Refresh Token Resource Substitution",
"details" : "## Impact\n\nThe OAuth token endpoint bound an authorization code's first access token to the consented resource, but not its refresh token. Refreshing only checked that the requested resource was registered, not that it matched the original grant. An OAuth client approved for one workflow could refresh with a different workflow's URL and get a valid, unapproved token for it. The patch binds refresh tokens to the granted resource and rejects mismatches.\n\nExploitation requires the attacker to register an OAuth client, convince an authenticated user to approve that client for one known protected resource, and know the URL of a second protected resource that the consenting user is permitted to execute.\n\n## Patches\n\nThe issue has been fixed in n8n versions 2.38.1 and 2.37.7. Users should upgrade to this version or later to remediate the vulnerability.\n\n## Workarounds\n\nIf upgrading is not immediately possible, administrators should consider the following temporary mitigations:\n- Restrict n8n instance access to fully trusted users only.\n- Deactivate MCP Trigger, form, and webhook workflows that are protected by the n8n OAuth server if they are not required.\n- Audit connected OAuth clients and revoke any that are not recognized or no longer needed.\n- Require re-authorization for all existing OAuth clients after upgrading, as previously issued refresh tokens did not store the original resource binding.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "n8n"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "2.38.0"
}, {
"fixed" : "2.38.1"
} ]
} ]
}, {
"package" : {
"ecosystem" : "npm",
"name" : "n8n"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.37.7"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/security/advisories/GHSA-cw9w-vv67-hf73"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-86073"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/pull/37122"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/pull/37588"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/commit/18458482861097a26f874f30ad7e8136e268475c"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/commit/380788fd9a3264c83161e868026a98731d274d88"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/n8n-io/n8n"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/releases/tag/n8n@2.37.7"
}, {
"type" : "WEB",
"url" : "https://github.com/n8n-io/n8n/releases/tag/n8n@2.38.1"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-863" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-09-10T21:21:49Z",
"nvd_published_at" : "2026-09-08T17:18:39Z"
}
}