Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
n8n-io n8n
Default version status: unaffected
2.34.0 to < 2.34.1affected2.34.1unaffected
pkg:npm/n8nn8n-io n8n
Default version status: unaffected
2.0.0 to < 2.33.4affected2.33.4unaffected
pkg:npm/n8n