n8n: Send Email Node Arbitrary File Read and SSRF via Nodemailer Content-Object Type Confusion
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-200.
Summary
## Impact The n8n Send Email node did not enforce that its message fields were strings, so a crafted untrusted non-string value from a workflow expression could be treated by the underlying mail library as a file path or URL. This could allow disclosure of local files on the n8n host. Exploitation requires a pre-existing active workflow with an unauthenticated webhook, valid SMTP credentials configured on the Send Email node, and untrusted input mapped directly into the text or HTML body field. This is not a default n8n configuration. ## Patches The issue has been fixed in n8n versions 1.123.67, 2.31.5, and 2.32.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: - Audit active workflows for Send Email nodes that map untrusted webhook or external data directly into the text or HTML body fields, and remove or restrict those workflows. - Restrict public webhook access at the network or reverse-proxy level to prevent unauthenticated callers from reaching sensitive workflows. - Restrict workflow creation and editing permissions to fully trusted users only. These workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | n8n (npm) | before 1.123.67 | 1.123.67 | Patch available | GHSA-2x35-3fw4-9jr4 |
| — | n8n (npm) | 2.32.0 to before 2.32.1 | 2.32.1 | Patch available | GHSA-2x35-3fw4-9jr4 |
| — | n8n (npm) | 2.0.0-rc.0 to before 2.31.5 | 2.31.5 | Patch available | GHSA-2x35-3fw4-9jr4 |
- n8n (npm) Vendor— Affected before 1.123.67 Fixed in 1.123.67 Patch available GHSA-2x35-3fw4-9jr4
- n8n (npm) Vendor— Affected 2.32.0 to before 2.32.1 Fixed in 2.32.1 Patch available GHSA-2x35-3fw4-9jr4
- n8n (npm) Vendor— Affected 2.0.0-rc.0 to before 2.31.5 Fixed in 2.31.5 Patch available GHSA-2x35-3fw4-9jr4
Remediation
- Fix · GHSA-2x35-3fw4-9jr4 n8n (npm) Fixed in 1.123.67 Advisory →
- Fix · GHSA-2x35-3fw4-9jr4 n8n (npm) Fixed in 2.32.1 Advisory →
- Fix · GHSA-2x35-3fw4-9jr4 n8n (npm) Fixed in 2.31.5 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-2x35-3fw4-9jr4
References
Other 6
- https://github.com/n8n-io/n8n/security/advisories/GHSA-2x35-3fw4-9jr4
- https://github.com/n8n-io/n8n/commit/f69dfc6dd2178a14ea1624d2e1d403c2e755042f
- https://github.com/n8n-io/n8n
- 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]
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences