n8n до версии 2.29.8 и 2.30.x до версии 2.30.1 (затронуто с версии 2.27.0, когда был введен поток согласия OAuth 2.1 и выдачи токенов) не проверяет, имеет ли аутентифицированный пользователь доступ к рабочему процессу, указанному как ресурс OAuth. В экземплярах с хотя бы одним активным рабочим процессом триггера сервера MCP, настроенным с аутентификацией n8n OAuth2, пользователь уровня участника может зарегистрировать клиент OAuth, самостоятельно утвердить согласие на рабочий процесс другого пользователя и получить действительный токен. Затем рабочий процесс запускается в контексте проекта владельца с сохраненными учетными данными владельца, и злоумышленник может устанавливать входные данные инструмента и читать выходные данные (потенциально включая данные из подключенных интеграций владельца), нарушая изоляцию пользователя и проекта.
Показать оригинальное описание (EN)
n8n before 2.29.8 and 2.30.x before 2.30.1 (affected from 2.27.0, when the OAuth 2.1 consent and token-issuance flow was introduced) does not verify that the authenticated user has access to the workflow referenced as the OAuth resource. On instances with at least one active MCP Server Trigger workflow configured with n8n OAuth2 authentication, a member-level user can register an OAuth client, self-approve consent for another user's workflow, and obtain a valid token. The workflow then runs in the owner's project context with the owner's stored credentials, and the attacker can set tool inputs and read outputs (potentially including data from the owner's connected integrations), breaking user and project isolation.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 4
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
N8n N8n
cpe:2.3:a:n8n:n8n:*:*:*:*:community:node.js:*:*
|
2.27.0
|
2.29.8
|
|
N8n N8n
cpe:2.3:a:n8n:n8n:*:*:*:*:enterprise:node.js:*:*
|
2.27.0
|
2.29.8
|
|
N8n N8n
cpe:2.3:a:n8n:n8n:2.30.0:*:*:*:community:node.js:*:*
|
— | — |
|
N8n N8n
cpe:2.3:a:n8n:n8n:2.30.0:*:*:*:enterprise:node.js:*:*
|
— | — |