首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >复现MongoDB(CVE-2025-14847)CVSS8.7漏洞攻击

复现MongoDB(CVE-2025-14847)CVSS8.7漏洞攻击

作者头像
qife122
发布2026-01-06 14:18:08
发布2026-01-06 14:18:08
2190
举报

漏洞详情

MongoDB的zlib消息解压缩功能中存在一个缺陷,该缺陷会返回已分配的缓冲区大小而非实际的解压数据长度。这使得攻击者能够读取未初始化的内存,具体方式为:

  1. 发送一个压缩消息,并夸大其未压缩大小声明
  2. MongoDB根据攻击者的声明分配一个大缓冲区
  3. zlib将实际数据解压到缓冲区的起始部分
  4. 该漏洞导致MongoDB将整个缓冲区视为有效数据
  5. BSON解析从未初始化的内存中读取“字段名”,直到遇到空字节为止

受影响的版本

版本

受影响版本

已修复版本

8.2.x

8.2.0 - 8.2.2

8.2.3

8.0.x

8.0.0 - 8.0.16

8.0.17

7.0.x

7.0.0 - 7.0.27

7.0.28

6.0.x

6.0.0 - 6.0.26

6.0.27

5.0.x

5.0.0 - 5.0.31

5.0.32

漏洞复现步骤

1.安装MongoDB漏洞测试环境(这里默认使用ubuntu系统并且已安装docker环境)

docker-compose.yml

代码语言:javascript
复制
version: '3.8'

services:
  mongodb-vulnerable:
    image: mongo:8.2.2
    container_name: mongobleed-target
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: SuperSecret123!
      MONGO_INITDB_DATABASE: secretdb
    volumes:
      - ./init/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
      - mongodb_data:/data/db
    command: ["mongod", "--networkMessageCompressors", "zlib", "--bind_ip_all"]
    restart: unless-stopped

volumes:
  mongodb_data:

使用如下命令安装MongoDB漏洞环境,如下所示

代码语言:javascript
复制
docker compose up -d

2.运行poc获取泄露的内存数据,命令、获取到的结果如下所示

代码语言:javascript
复制
sudo python3 mongobleed.py

3.参考链接如下

https://github.com/joe-desimone/mongobleed.git

https://github.com/Neo23x0/mongobleed-detector.git

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全技术点滴分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 漏洞详情
  • 受影响的版本
  • 漏洞复现步骤
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档