今年不曉得為何有這麼多高維漏洞...  mongo CVE‑2025‑14847 允許未經身份驗證的客戶端透過精心構造的壓縮訊息,觸發未初始化記憶體堆疊讀取,進而造成資料外洩或可利用為進一步攻擊的跳板。

基本上所有版本的mongo都中獎了,有使用mongoDB的還是儘快修復一下。

mongo CVE‑2025‑14847 修復方式:

ubuntu版本的

更新套件包

sudo apt-get update

只升級 mongodb 相關套件

sudo apt-get install --only-upgrade mongodb-org

重啟服務

sudo systemctl restart mongod

確認版本有升級(例如 8.0.X 變成 8.0.17)

mongod --version


CentOS7版本的

這次的漏洞估計有點大,mongo居然連4.X版本的都有做更新包。

先使用以下指令,檢查是否有更新包(例如出現4.4.30 表示有修復版的,實際還是得看你的mongo版本號)

sudo yum check-update mongodb-org

更新mongo 

sudo yum update --disablerepo=* --enablerepo=mongodb-org-4.4 mongodb-org


指令解釋:

  • --disablerepo=*:先暫時禁用所有倉庫(避免那些 404 錯誤卡住流程)。

  • --enablerepo=mongodb-org-4.4:只啟用 MongoDB 4.4 的倉庫。

  • mongodb-org:指定要更新的套件名稱(它會自動連帶更新 mongodb-org-server, shell 等組件)。


重啟服務器

sudo systemctl restart mongod 

mongod --version 

# 應顯示 db version v4.4.30

無法升級包的解決方法

假如無法透過上面的修復來解決此次mongo的漏洞,建議解決的處理。


1. mongodb 設定防火牆,讓特定的IP 才能連線,以及更改mongo的預設port,來降低被直接攻擊。

2.在 /etc/mongod.conf

找到network interfaces

# network interfaces

net:

  port: 27017

  bindIp: 0.0.0.0

  # 新增底下這兩行來禁用 zlib

  compression:

    compressors: snappy,zstd

port: 27017 :mongo預設的port 就是27017,可以的話,也能修改這個port,但只能降低被自動化攻擊的機率,無法從根本中防護。

bindIp: 0.0.0.0 :表示全網開放,可以改成只有指定IP能訪問,或者在前面的防火牆添加設定。

假如找不到compression,則自行加上,預設沒有寫就是有開啟 snappy,zstd, zlib

 compression:

    compressors: snappy,zstd

然後重啟mongodb

sudo systemctl restart mongod









文章轉載或引用,請先告知並保留原文出處與連結!!(單純分享或非營利的只需保留原文出處,不用告知)

原文連結:
https://blog.aidec.tw/post/mongodb-CVE‑2025‑14847-fix
若有業務合作需求,可寫信至: [email protected]
創業、網站經營相關內容未來將發布在 小易創業筆記