Description
n8n before versions 1.123.61, 2.27.4, and 2.28.1 contains a permission bypass vulnerability in external secrets handling caused by a mismatch between the static validation check and the runtime expression engine. An authenticated user with credential create or update permissions but without the externalSecret:list scope can embed external secret references into credentials in forms the static validation does not detect; these references resolve at workflow execution time, exposing secret values the user is not authorized to access. This issue only affects instances where an external secrets provider is configured and Advanced Permissions are in use.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
n8n n8n
Default version status: unaffected
0 to < 1.123.61affected1.123.61unaffected
pkg:npm/n8nn8n n8n
Default version status: unaffected
2.28.0 to < 2.28.1affected2.28.1unaffected
pkg:npm/n8nn8n n8n
Default version status: unaffected
2.0.0-rc.0 to < 2.27.4affected2.27.4unaffected
pkg:npm/n8n