本文使用的 Docker 镜像
发布日期: 2026 年 10 月 16 日
风险等级: 高危(High)
漏洞编号: CVE-2026-97665 · CVE-2026-97712
涉及镜像: sonatype/nexus3 — 轩辕镜像 · Docker Hub
CVSS: 8.7(High,CVSS 4.0,CVE-2026-97712)
披露时间: 2026 年 10 月,Sonatype 公告
相关公告: Nexus Repository 3.97.0 发行说明
一、漏洞概述
Sonatype Nexus Repository 3 是制品库,官方镜像是 sonatype/nexus3。下面两条在 3.97.0 一起修复。仓库类型包含 Docker 时,提权之后可以碰到这些仓库。
CVE-2026-97665: 已经启用 Symbol Server 的托管 NuGet 仓库,符号包上传路径没有做应有的鉴权。只持有 repository read / browse 的账户就可以上传并留下 .snupkg,普通包上传所需的写权限被绕过。如果开了匿名访问,内置 anonymous 默认具备全库 read / browse,未认证也能满足这个前提。
CVE-2026-97712: 持有 role create 或 role update 的用户,可以把自己并不具备的角色和特权授给别人,最高到完整管理员。权限模型被拆开之后,低权限管理员可以变成系统管理员,进而管理包括 Docker 仓库在内的全部制品库。记录中的受影响范围是 3.0.0 起、低于 3.97.0。
二、漏洞状态
统计截止: 2026 年 10 月 18 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(Sonatype 公告、NVD) |
| 官方补丁 | 3.97.0 及更高 |
| CISA KEV | 未列入 |
| CVE | CVSS 4.0 | 要点 | 受影响范围 |
|---|---|---|---|
| CVE-2026-97665 | 7.1 High | NuGet 符号包上传缺少写权限检查 | CE / Pro 3.95.0 至 3.96.x,且托管 NuGet 仓库启用了 Symbol Server |
| CVE-2026-97712 | 8.7 High | 角色创建或更新时可以授出调用方自己没有的角色和特权 | 3.0.0 起,低于 3.97.0 |
三、影响范围
1. 版本与发行形态
| 发行形态 | 受影响范围 | 修复 |
|---|---|---|
| Nexus Repository 3 | 低于 3.97.0 | ≥ 3.97.0 |
官方镜像 sonatype/nexus3 | 标签 3.96.4 及更早,含 3.96.x | Docker Hub 已有 3.97.0、3.97.0-alpine、3.97.0-ubi |
没有托管 NuGet 仓库,或没有打开 Symbol Server 的实例,不受 CVE-2026-97665 影响。角色管理那条仍覆盖 3.97.0 之前的版本。
2. 典型受影响场景
- 匿名用户被授予全库 read / browse,同时某个 NuGet 托管仓库开了 Symbol Server
- 有人只有 browse 权限,却能往符号包路径写入内容
- 低权限管理员拥有 role create 或 role update,实例里还有 Docker 等生产仓库
四、修复建议
1. 升级到 3.97.0 或更高(推荐)
| 形态 | 最低建议版本 |
|---|---|
sonatype/nexus3 | 3.97.0 |
如果当前用的是 alpine 或 ubi 变体,对应标签是 3.97.0-alpine、3.97.0-ubi。
Docker Hub: sonatype/nexus3
轩辕镜像: sonatype/nexus3
bashdocker pull docker.xuanyuan.run/sonatype/nexus3:3.97.0
将 Compose 或运行参数中的镜像改为上述坐标后,重新创建容器。升级后确认产品版本不低于 3.97.0。先备份数据目录。
发行说明:3.97.0。
2. 升级后审查权限
- 列出持有 role create、role update 的账户,去掉不需要的人。
- 核对匿名用户是否仍有全库 read / browse。
- 看启用了 Symbol Server 的 NuGet 托管仓库里,有没有升级前写入的异常符号包。
五、临时缓解措施
在完成升级之前:
-
关掉托管 NuGet 仓库的 Symbol Server
这只缩小 CVE-2026-97665 的入口。角色提权仍然要靠升级到 3.97.0。 -
read / browse 只给可信账户,并评估关闭匿名访问
匿名默认可浏览时,符号包上传的前提更容易满足。 -
先收紧角色管理权限
低于 3.97.0 时,能创建或更新角色的人可以把自己没有的特权授出去。收紧权限不能代替升级。
六、与轩辕镜像用户的相关说明
轩辕镜像提供的是镜像加速与拉取服务,不替代 Nexus 的版本升级。
- 站内页:sonatype/nexus3。拉取命令为
docker.xuanyuan.run/sonatype/nexus3:3.97.0。 - 加速拉取不会自动变成 3.97.0。请把标签固定为 3.97.0 或同版本的 alpine / ubi 变体。
- 配置与排错见 轩辕镜像使用手册、镜像拉取 FAQ。
七、参考链接
- Sonatype:CVE-2026-97665
- Sonatype:CVE-2026-97712
- 发行说明:Nexus Repository 3.97.0
- NVD:CVE-2026-97665
- NVD:CVE-2026-97712
- Docker Hub:sonatype/nexus3
- 轩辕站内镜像页:sonatype/nexus3
轩辕镜像安全团队
2026 年 10 月 16 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
