
이 저장소는 워크플로 자동화 플랫폼 **n8n**에 영향을 미치는 취약점 **CVE-2025-68613**에 대한 실험실급 분석과 **안전한 Proof-of-Concept**를 포함합니다.
저자는 본 연구로 인한 오용 또는 피해에 대해 어떠한 책임도 지지 않습니다.
엄격히 교육 및 방어 목적으로만 제공됩니다.
이 저장소는 워크플로 자동화 플랫폼 n8n에 영향을 미치는 취약점 CVE-2025-68613에 대한 실험실 수준의 분석과 안전한 Proof-of-Concept를 포함합니다.
0.211.0 이상 1.120.4 미만 버전과 1.121.0–1.121.1 버전에는 표현식 평가 시스템에 치명적인 결함이 있습니다.
특정 조건에서 인증된 사용자가 제공한 표현식은 적절한 격리가 부족한 런타임 컨텍스트에서 평가되어 이론적으로 원격 코드 실행(RCE)을 가능하게 할 수 있습니다.
이 저장소는 실제 악용(exploitation)을 제공하지 않습니다.
다음을 제공합니다:
CVE-2025-68613은 워크플로 실행 중 사용되는 표현식 엔진 내부의 부적절한 샌드박싱에서 비롯됩니다.
악의적인 인증 사용자는 표현식 격리를 우회하여 기저 런타임 객체에 도달할 수 있으며, 잠재적으로 시스템 수준의 작업을 가능하게 할 수 있습니다.
영향은 다음과 같습니다:
잘못 구성되었거나 공개적으로 노출된 n8n 인스턴스는 위험을 극적으로 증가시킵니다.
이 PoC는 안전하고 비파괴적입니다. 다음을 검증합니다:
GET /signin에서 Base64로 인코딩된 메타데이터를 사용하여 추출합니다.
버전을 알려진 취약 범위와 대조합니다.
취약한 배포 환경에서 다음을 반환하는 /rest/settings를 호출합니다:
이러한 내부 값의 노출은 취약점의 핵심 요건인 약화된 격리를 나타냅니다.
이 PoC는 RCE를 수행하지 않습니다.
CVE-2025-68613/
│
├── cve-2025-68613.py
└── README.md
python3 cve-2025-68613.py -u https://127.0.0.1 -p 443 --insecure
예시:
n8n CVE-2025-68613 Vulnerability Scanner
----------------------------------------
[•] Target: https://127.0.0.1:443
[•] Performing version fingerprinting...
[✓] Detected n8n version: 1.120.0
[!] Vulnerable to CVE-2025-68613
인스턴스가 안전한 경우:
[✓] Target is NOT vulnerable. No further action required.
스캐너가 취약한 버전을 감지하면 PoC가 자동으로 진행됩니다:
python cve-2025-68613.py -u 127.0.0.1 -p 443 --poc -v -k
예시:
python cve-2025-68613.py -u 127.0.0.1 -p 443 --poc -v -k
n8n CVE-2025-68613 Vulnerability Scanner
------------------------------------------
[•] Target: https://127.0.0.1:443
[•] Performing version fingerprinting...
[DEBUG] Fetching: https://127.0.0.1:443/signin
[✓] Detected n8n version: 1.120.0
[!] Vulnerable to CVE-2025-68613
[•] Running SAFE PoC to validate exposure...
[DEBUG] Querying settings: https://127.0.0.1:443/rest/settings
[✓] SAFE POC CONFIRMED
The instance exposes internal configuration without authentication.
This correlates with weakened backend isolation seen in vulnerable builds.
--- Metadata Fragment (Pretty Printed) ---
{
"data": {
"authCookie": {
"secure": true
},
"banners": {
"dismissed": [
"V1"
]
},
"defaultLocale": "en",
"enterprise": {
"ldap": false,
"oidc": false,
"saml": false,
"showNonProdBanner": false
},
"instanceId": "ab12eeb1234d5a12ee12c123caa86aca12345fc1234567fbc3e29b6e12f123cd",
"mfa": {
"enabled": true,
"enforced": false
},
"oauthCallbackUrls": {
"oauth1": "http://0.0.0.0:5678/rest/oauth1-credential/callback",
"oauth2": "http://0.0.0.0:5678/rest/oauth2-credential/callback"
},
"previewMode": false,
"releaseChannel": "dev",
"settingsMode": "public",
"sso": {
"ldap": {
"loginEnabled": false,
"loginLabel": ""
},
"oidc": {
"callbackUrl": "http://0.0.0.0:5678/rest/sso/oidc/callback",
"loginEnabled": false,
"loginUrl": "http://0.0.0.0:5678/rest/sso/oidc/login"
},
"saml": {
"loginEnabled": false,
"loginLabel": ""
}
},
"telemetry": {
"config": {
"key": "1zAn2bcDEz3Fc4p5Gh6uiJ7KLMn",
"proxy": "http://0.0.0.0:5678/rest/telemetry/proxy",
"sourceConfig": "http://0.0.0.0:5678/rest/telemetry/rudderstack",
"url": "https://telemetry.n8n.io"
},
"enabled": true
},
"userManagement": {
"authenticationMethod": "email",
"quota": -1,
"showSetupOnFirstLoad": false,
"smtpSetup": false
},
"versionCli": "1.120.0",
"versionNotifications": {
"enabled": true,
"endpoint": "https://api.n8n.io/api/versions/",
"infoUrl": "https://docs.n8n.io/hosting/installation/updating/",
"whatsNewEnabled": true,
"whatsNewEndpoint": "https://api.n8n.io/api/whats-new"
}
}
}
| 영향 범위 | 패치 버전 |
|---|---|
| 0.211.0 → < 1.120.4 | 1.120.4+ |
| 1.121.0 → < 1.121.1 | 1.121.1+ |
| 1.122.x | 1.122.0+ |
완화 조치:
cve-2025-68613.py는 다음을 제공합니다:
--insecure)예시:
python3 cve-2025-68613.py -u https://n8n.lab -p 5678 --poc --insecure