Skip to content

n8n REST API exposed detector#806

Open
YuriyPobezhymov wants to merge 5 commits intogoogle:masterfrom
YuriyPobezhymov:master
Open

n8n REST API exposed detector#806
YuriyPobezhymov wants to merge 5 commits intogoogle:masterfrom
YuriyPobezhymov:master

Conversation

@YuriyPobezhymov
Copy link
Copy Markdown
Contributor

@YuriyPobezhymov YuriyPobezhymov commented Mar 18, 2026

Copy link
Copy Markdown
Collaborator

@robert-doyensec robert-doyensec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the updates. A few suggestions to help debugging later. Is there any way a workflow could be created that executes code to be 100% sure that it is vulnerable? Let me know what you think related to that. There's a strong preference for using an RCE payload that sends an out of bound callback request using the T_CBS_URI variable if possible.

"Ensure authentication is properly enforced for the n8n instance and that it "
"is not exposed to untrusted networks. Verify that REST API endpoints are "
"protected, especially in older or partially initialized deployments. Refer "
"to https://docs.n8n.io/hosting/securing/overview/ for guidance."
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think part of the recommendation should be to upgrade the n8n version since this only detects older versions

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated!

@YuriyPobezhymov
Copy link
Copy Markdown
Contributor Author

YuriyPobezhymov commented Apr 3, 2026

@robert-doyensec, thanks for update.

Yes — that’s possible, but it will looks like another detector.

If unauthenticated access to /rest/workflows is available, a workflow can be created (or imported from a file definition) that includes an HTTP Request node (or Execute Command node, if enabled) pointing to {{T_CBS_URI}}. Triggering the workflow will result in an outbound request, providing a reliable OOB signal.

There may be some minor adjustments required depending on the n8n version (e.g., differences in REST paths or execution/activation flows across earlier and later 0.x releases).

YuriyPobezhymov and others added 3 commits April 4, 2026 11:51
…pi.textproto

Co-authored-by: Robert Dick <robert@doyensec.com>
…pi.textproto

Co-authored-by: Robert Dick <robert@doyensec.com>
@robert-doyensec
Copy link
Copy Markdown
Collaborator

LGTM - Approved
@tooryx , this can be merged alongside google/security-testbeds#199 .

Reviewer: Robert, Doyensec
Plugin: n8n Exposed UI Detector
Drawbacks:

  • minor drawback of not actually executing a workflow, but it does demonstrate access to the workflows endpoint and fingerprints before doing so.
  • affected versions are quite old, newer versions don't allow configuring unauthenticated access easily

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants