SFTPGo符号链接权限绕过漏洞CVE-2026-10031
SFTPGo 是一个开源核心、跨平台多功能托管文件传输(MFT)服务端,主打安全文件收发,可一键搭建企业级文件网关、私有网盘。
一、基本情况
SFTPGo 支持 Windows、Linux、macOS,提供 Docker、K8s 部署方案;开源版免费商用,企业版则是提供技术支持与高级合规功能。

SFTPGo 内置 Web 管理后台,可视化管理账号、连接、共享链接;完整 REST API,适合企业对内文件管理、对外客户文件交互场景。
栋科技漏洞库关注到 SFTPGo 在2.7.3及之前版本中的符号链接权限绕过漏洞,现已经被追踪为CVE-2026-10031,CVSS 3.X评分 4.2。
二、漏洞分析
CVE-2026-10031漏洞是开源的 Go 语言文件传输服务 SFTPGo相关版本中的安全漏洞,该漏洞已在SFTPGo v2.7.4版本中得以中修复。
具体来说,SFTPGo 是根据客户端请求的虚拟路径评估目录(文件夹级别)权限的,
但 BaseConnection.CreateSymlink 函数仅根据符号链接所在目录和目标路径目录的权限执行操作,
未同时强制校验被链接目标目录的 create_symlinks 权限,
导致拥有一个可写目录权限的已认证用户能够把链接指向禁止下载、上传或覆盖的目录,并借助链接访问受保护文件。
具有 create_symlinks 的经过身份验证的用户可以读取或修改文件夹级权限拒绝下载、上传或覆盖的目录中的文件。
访问权限停留在用户自己配置的存储根目录内,不会转义主目录或前缀,也不会在帐户之间交叉隔离,但会破坏单帐户每个目录权限。
默认情况下,符号链接创建现在被禁用:
symlink_mode是一个针对每个后端的设置,其默认值禁用在每个后端的创建,因此向量是开箱即用的,必须为需要它的后端明确启用。
启用创建时,还需要在链接的目录和链接指向的目录上具有create_symlinks权限,因此无法在不允许用户创建链接的目录中创建链接。
这意味着攻击者可以利用该漏洞需要一个持有create_symlinks的经过身份验证的用户和一个允许创建符号链接的环境。
SFTPGo 安全策略已更新,以阐明这些权限所依据的文件系统和存储信任模型。
三、影响范围
SFTPGo ≤ 2.7.3
四、修复建议
SFTPGo ≥ 2.7.4
五、参考链接
https://github.com/drakkan/sftpgo
https://github.com/drakkan/sftpgo/releases/tag/v2.7.4
管理员已设置登录后刷新可查看