Dify升级到Dify v1.10.1-fix修复CVE-2025-55182漏洞
背景
一大早就收到阿里云通知的CVE-2025-55182(React)和CVE-2025-66478 (Next.js)漏洞风险通知,

受影响的React和Next.js版本有

经过排查漏洞是来自于Dify,Dify官方也是很给力,很快发布了v1.10.1-fix来修复这两个漏洞

为了修复这两个漏洞,我需要使用docker compose 把windows部署的dify从1.5.1版本升级到v1.10.1-fix版本,并且保留上个版本所有数据。
一、下载Dify1.10.1-fix
由于我的Dify服务器无法访问github,这里使用下载离线包的方式升级
下载地址:https://github.com/langgenius/dify/releases/tag/1.10.1-fix.1

选择合适的版本下载到本地,这里由于我是windows环境部署的dify就下载了zip版本

二、数据备份
进入旧版本dify的/docker目录,备份这三个文件,或者保留整个旧版本的目录先不要删除。
volumes目录是数据目录.env文件是dify的环境配置docker-compose.yaml文件是Docker Compose启动dify的配置文件

我这里保留了整个旧版本dify目录,升级完成以后才做删除。
三、升级
3.1 合适的位置解压最新版的Dify v1.10.1-fix.1,如下图:

注意dify部署目录层级不建议太深,否者拷贝数据目录volumes的时候会出现:"文件名对目标文件夹可能太长,你可以缩短文件名"的问题
3.2 拷贝数据目录volumes到新版本中
删除新版本的docker/volumes, 复制旧版本docker/volumes 目录到新版本的docker/目录下

如果还是出现"文件名对目标文件夹可能太长,你可以缩短文件名"的问题,尝试在 Windows 10 和 11 中启用长路径支持 。
步骤1:按 Windows 键 + R 打开"运行"对话框,输入"gpedit.msc",然后按 Enter 打开本地组策略编辑器。
步骤2:导航到 计算机配置 > 管理模板 > 系统 > 文件系统。
步骤3:找到并双击"启用 Win32 长路径"。
3.3 同步配置旧配置
由于从dify-1.10.1开始.env和docker-compose.yaml文件和之前版本的配置发生了较大的改变
如dify-1.10.1中.env数据库的配置,和docker-compose.yaml的数据库服务配置都和之前的版本不同。
如果还是直接使用旧版本的.env和docker-compose.yaml替换掉新版本配置会出现数据无法同步,无法使用等一系列BUG
旧版本的
.env中的数据库配置
旧版本的
docker-compose.yaml中的数据库配置
dify-1.10.1版本的.env中的数据库配置
dify-1.10.1版本的docker-compose.yaml中的数据库配置
具体方法
1. 复制dify-1.10.1-fix.1\docker\.env.example 为.env
如下图:

2. 同步旧版本的.env的各项配置到新版的.env
使用默认配置就不需要更改
text
具体同步那些配置要看各自的配置,我这里同步了
- NGINX_PORT
- NGINX_SSL_PORT
- EXPOSE_NGINX_PORT
- EXPOSE_NGINX_SSL_PORT
2. 同步旧版本的docker-compose.yaml的各项配置到新版的.env
使用默认配置就不需要更改
text
具体同步那些配置要看各自的配置,我这里使用默认配置就不需要同步配置了
3.4 停止旧版本Dify
1. 打开docker.desktop, 打开Terminal,进入老版本的/docker目录

2.停止旧版本dify
cmd
docker compose down

3.清理docker 缓存
cmd
docker system prune -a
此步骤不是必须,但是建议还是加上,这会清除所有未使用的镜像、容器和缓存。可以在拉取镜像防止受之前的缓存影响

3.5 启动新版本Dify
1. 进入新版本dify的docker目录

2. Docker Compose启动dify
cmd
docker compose up -d

如果出现镜像拉不下的问题
cmd
Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
可以试试我配置的镜像加速地址
json
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.1ms.run",
"https://dockerproxy.com",
"https://hub.rat.dev"
]
}
3.6重新索引知识库
升级完Dify1.10.1fix版本后,知识库会处于不可用状态,报错信息如下:
text
Query call with protocol GRPC search
failed with message extract target
vectors: class Vector_index_57c0bdf2_49ab_4f8d_9207_870d6352276c_Node
does not have named vector default configured. Available named vectors map[].

不用惊慌,这是原本版本过低,升级到1.9新版本以后出现的问题
可以参考解决方案:https://forum.dify.ai/t/grpc/167

解决办法其实很简单,重新修改一下知识库的嵌入模型,我这里将BAAI/bge-m3修改为了BAAI/bge-large-en-v1.5保存,召回测试

这时候召回测试就正常了。

我们在把嵌入模型BAAI/bge-large-en-v1.5改回为BAAI/bge-m3保存,再次召回测试就正常了

3.7 验证
浏览器访问:http://127.0.0.1:8100/apps
数据正常

版本升级OK

模型供应商配置也OK

智能体正常使用

到此 Dify1.5.1 升级到Dify1.10.1-fix完成



