High · published August 20, 2026
n8n before 2.34.1 and 2.33.4 contains an authorization bypass in the custom project role deletion (reassignment) path. When deleting a custom project role with a reassignment target, the code validated only that the target role existed and was project-scoped, performing no project-level authorization check. A user holding only the narrow role:manageProject global scope could delete any custom project role in use on the instance and reassign its holders (including themselves) to the built-in project:admin role, gaining full administrative control of projects they had no legitimate access to.
| Product | Versions | Fixed in |
|---|---|---|
| n8n/n8n | < 2.33.4 | 2.33.4 |
| n8n/n8n | all versions | — |