top of page

Permissive CORS in n8n

  • Feb 12
  • 1 min read

What this means (non-technical)


CORS controls which websites are allowed to make requests to your n8n instance from a browser. If CORS is set to allow all origins (often shown as *), any website can send requests to your webhooks and read the responses in a browser context.


This removes an important boundary between your workflows and the public web.

What usually goes wrong


If any website can access your endpoints:


  • Malicious sites can trigger your workflows from a user’s browser.

  • Sensitive response data may be readable across domains.

  • Authenticated users could unknowingly trigger actions just by visiting a page.


Because everything looks like a normal web request, it can be hard to understand how the workflow was triggered.


Over time, this reduces your confidence in who can access your automation.

When this becomes urgent


This becomes urgent when:


  • Your webhooks return sensitive data.

  • Your instance is publicly accessible.

  • Users log into n8n from a browser.

  • The workflows perform write operations or trigger external systems.


The more exposed your instance is to the public internet, the more important proper origin restrictions become.

Detect issues in your n8n workflows

Upload your JSON to detect if any issue is present in your workflow

Definitions


  1. CORS (Cross-Origin Resource Sharing): A browser security feature that controls which websites can access resources on another domain.


  2. Origin: The combination of protocol, domain, and port that identifies a website.

Disclaimer


This article highlights common patterns and risks seen in real-world n8n workflows. It’s meant to help you build more confidently and avoid surprises as your automation grows. Behavior can vary depending on your setup, version, and configuration.

Related Posts

See All
Unsafe module import in n8n

What this means (non-technical) In some setups, Code nodes may allow loading additional modules, depending on how the environment is configured. Some modules allow file system access, command executio

 
 
Unencrypted FTP in n8n

What this means (non-technical) Plain FTP sends usernames, passwords, and file contents over the network without encryption. If you use FTP instead of SFTP or FTPS, your data travels in readable form.

 
 
Sensitive pinned data in n8n

What this means (non-technical) Pinned data saves a previous execution’s output so you can test downstream nodes without re-running the whole workflow. If that pinned data includes API responses, data

 
 
bottom of page