CVE-2026-65589: n8n: Custom Header Credential Values Leaked in Plaintext into LLM Node Execution Data
Custom HTTP headers set in credentials for some n8n LLM sub-nodes (OpenAI, Anthropic, Lemonade) are masked in the UI but written in plaintext into execution data. Any authenticated user who can see that execution data can read header names and values, which often hold API keys. Fixed in n8n 1.123.64, 2.29.8 and 2.30.1.
Published Jul 22, 2026 · Analysis Oct 25, 2026
What an attacker can do
In the credential editor, custom header values for these LLM sub-nodes look hidden. During a workflow run, though, n8n records the headers in the execution data as plain text (CWE-532, sensitive information in logs). The header names and values are visible to any authenticated user who has access to the execution data of an affected workflow.
Those values are typically API keys or other secrets for the LLM provider or a gateway in front of it. Execution data can be saved to the database and exported, so the secrets can outlive the single run and spread to backups and exports.
The attacker needs a low-privileged account with access to the workflow's executions. No user interaction is needed. The CVSS 4.0 vector rates confidentiality impact as low on n8n itself but high on subsequent systems, which fits a leaked provider key. Only workflows that use LLM sub-nodes with custom headers defined in their credentials are affected.
Who is affected
Affected: n8n below 1.123.64 on the 1.x line, 2.0.0-rc.0 up to but not including 2.29.8, and 2.30.0. Only workflows using LLM sub-nodes (the advisory names OpenAI, Anthropic and Lemonade) with custom headers in their credentials leak.
Check the version:
npm ls n8nThen review your LLM credentials for custom headers.
n8n
- Ecosystem
- npm
- Affected
- < 1.123.64
- Fixed in
- 1.123.64
- Check
npm ls n8n
n8n
- Ecosystem
- npm
- Affected
- >= 2.30.0, < 2.30.1
- Fixed in
- 2.30.1
- Check
npm ls n8n
n8n
- Ecosystem
- npm
- Affected
- >= 2.0.0-rc.0, < 2.29.8
- Fixed in
- 2.29.8
- Check
npm ls n8n
How to fix it
Upgrade to n8n 1.123.64, 2.29.8 or 2.30.1, or later. For an npm install, run npm install [email protected].
Temporary mitigations from the advisory, none of which fully remove the risk:
- Restrict access to execution data to fully trusted users.
- Avoid custom headers in LLM node credentials, and use another authentication method where you can.
- Rotate any API keys or secrets that were stored as custom header values.
Upgrading does not remove values already saved in past execution data, so rotate the secrets and consider pruning old executions.
How to tell if you were hit
Open past executions of workflows with LLM sub-nodes and look for header names and values in the node's data. Search stored execution data and any exports or backups for your header names. Check the LLM provider's usage logs for your key being used from unfamiliar addresses. List which users can open executions for those workflows, since each of them could have read the values.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Impact
Custom HTTP headers configured in credentials for certain LLM sub-nodes (including OpenAI, Anthropic, and Lemonade) are masked in the n8n UI but are written in plaintext into execution data during workflow runs. Any authenticated user with access to the execution data for an affected workflow can read the header names and values, which typically contain API keys or other secrets.
Because execution data can be persisted to the database and exported, leaked values may remain accessible beyond the lifetime of a single execution.
This issue only affects instances where workflows use LLM sub-nodes with custom headers defined in their credentials.
Patches
The issue has been fixed in n8n versions 1.123.64, 2.29.8, and 2.30.1. Users should upgrade to one of these versions or later to remediate the vulnerability.
Workarounds
If upgrading is not immediately possible, administrators should consider the following temporary mitigations:
- Restrict access to execution data to fully trusted users only.
- Avoid configuring custom headers in LLM node credentials; use alternative authentication mechanisms where possible.
- Rotate any API keys or secrets that may have been stored as custom header values in affected credentials.
These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Questions
- Which LLM nodes does CVE-2026-65589 affect?
The advisory names the OpenAI, Anthropic and Lemonade sub-nodes, and says certain LLM sub-nodes are affected. Only workflows whose credentials define custom headers leak them.
- Does upgrading remove already-leaked values?
Not from the past. Values already written to execution data, exports or backups stay there. The advisory suggests rotating any keys stored as custom header values.
- Who can read the leaked headers?
Any authenticated user with access to the execution data of an affected workflow. No user interaction is needed.
- Which versions are fixed?
n8n 1.123.64, 2.29.8 and 2.30.1, or later.
References
Read for this analysis:
- https://nvd.nist.gov/vuln/detail/CVE-2026-65589
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://github.com/n8n-io/n8n/releases/tag/[email protected]
- https://www.vulncheck.com/advisories/n8n-before-credential-exposure-via-llm-node-execution-data
- https://github.com/advisories/GHSA-89gh-3pgc-v5h2
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More n8n vulnerabilities
All n8n entriesCVE-2026-86073
n8n: Per-Resource OAuth Consent Bypass via Unbound Refresh Token Resource Substitution
medium5.9Sep 10, 2026CVE-2026-86074
n8n: Instance AI Credential Setup Accepts Unvalidated Probe URL from Fetched Content
medium5.9Sep 10, 2026CVE-2026-86075
n8n: Unauthenticated Persistent Storage Exhaustion via OAuth Dynamic Client Registration Endpoint
high8.7Sep 10, 2026CVE-2026-86076
n8n: Expression Sandbox Escape via Class-Field Sanitizer Rebinding Can Lead to Code Execution
high8.7Sep 10, 2026CVE-2026-86077
n8n: Anonymous Approval-Gate Bypass via Reused resumeToken over the Chat WebSocket
medium6.3Sep 10, 2026CVE-2026-86078
n8n: Prototype Pollution via Workflow Structure Summary Can Lead to Denial of Service
medium6.0Sep 10, 2026
