CVE-2026-110447:Nextcloud 内置 Collabora 组件命令注入,已被植入 WebShell

Collabora 于 2026 年 10 月 14 日发布公告,披露 Nextcloud 可选应用「Collabora Online – Built-in CODE Server」(包名 richdocumentscode)存在系统命令注入漏洞 CVE-2026-110447,CVSS 4.0 评分 9.2(CWE-78)。漏洞无需认证即可利用,管理员早在 9 月 10 日就观测到攻击者植入 PHP WebShell,用于搜索密码库与加密货币钱包。

事件概述

Nextcloud Office 需要一台 Collabora Online 服务器提供在线文档编辑。为免单独部署,Collabora 提供内置版应用 richdocumentscode,它把 CODE(Collabora Online Development Edition)直接下载运行在 Nextcloud 服务器上。漏洞位于该应用的 proxy.php 脚本,低于 26.4.303 的版本均受影响,且只在内置 CODE 服务器未运行时可触发(如重启、升级或崩溃后)。修复版本要求 Nextcloud 30 或更高,Nextcloud 29 及更早只能升级或移除该应用。独立部署的 Collabora Online 与 All-in-One 不受影响。

技术细节

本地 CODE 服务器未在监听时,proxy.php 负责把它启动起来。在 26.4.302 及更早版本中,该脚本把请求中的文本(含路径)拼进一条用双引号包裹的 Bash 命令,因此任何形如 $(...) 的内容都会被 Shell 展开执行,权限等同 Web 服务器账号。攻击者向 proxy.php?status 发送带命令替换的请求即可执行任意命令。

真正麻烦的是执行路径:proxy.php 由 Web 服务器直接执行,不加载 Nextcloud 核心代码,因此「停用应用」挡不住对该脚本的访问。公告明确写明:必须升级到 26.4.303 或更高版本,或者彻底移除应用。据管理员公开的 issue 日志,攻击请求使用了 %2e%2e、$(...)、${IFS} 与 base64 管道送入 sh 等手法,落地的 WebShell 形如 shx5cf91.php。

影响评估

这是典型的「修复先行、编号迟到」事件:修复提交于 9 月 9 日合入,26.4.303 于 9 月 11 日发布但未标注为安全更新,首起已知攻击在 9 月 10 日,而公告与 CVE 编号直到 10 月 14 日才公布,间隔超四周。

攻击者取得 WebShell 后主要搜寻 *.kdbx 密码库、wallet.dat 及 Bitwarden、1Password 等痕迹。公开日志中未见数据外传的直接证据,但 WebShell 可读取 Web 服务器账号能触及的一切,管理员普遍按「密钥已泄露」处理。

修复建议

1. 升级或移除。安装 richdocumentscode 26.4.303 或更高;不需要内置服务器的站点直接移除,停用无防护效果。Nextcloud 29 或更早需升级或移除应用。

2. 排查 WebShell 与探测请求:

find /var/www/nextcloud/apps/richdocumentscode -name 'shx*.php'
grep -E 'richdocumentscode/proxy[.]php.*(%2e%2e|%24%28|IFS)' /var/log/nginx/access.log

3. 一旦命中,按已失陷处理:轮换数据库口令、Nextcloud 配置密钥与应用专用密码,更换机器上所有密钥;无法解释执行过什么内容时建议从干净来源重建。

4. 把这类捆绑组件纳入与主技术栈同等级的补丁节奏——厂商给出 CVE 前也应重视其更新建议。

参考来源