今年不曉得為何有這麼多高維漏洞... 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]
創業、網站經營相關內容未來將發布在 小易創業筆記