MongoDB 伺服器 zlib 漏洞 (CVE‑2025‑14847) 快速修補建議與風險評估
2025 年 12 月,MongoDB 官方針對其伺服器端 zlib 實作發佈了重大安全公告。漏洞編號 CVE‑2025‑14847 允許未經身份驗證的客戶端透過精心構造的壓縮訊息,觸發未初始化記憶體堆疊讀取,進而造成資料外洩或可利用為進一步攻擊的跳板。CVSS v4.0 分數為 8.7(高危),v3.1 為 7.5(中高)。受影響版本涵蓋 8.2.0‑8.2.3、8.0.0‑8.0.16、7.0.0‑7.0.26、6.0.0‑6.0.26、5.0.0‑5.0.31、4.4.0‑4.4.29 以及 4.2、4.0 與 3.6 版伺服器。
漏洞機制簡析
zlib 壓縮協定在 MongoDB 內部用於資料傳輸壓縮。CVE‑2025‑14847 來源於 zlib 標頭欄位長度處理不一致,導致應用程式在未經驗證前即解壓縮客戶端提供的資料。因為解壓縮時未經正確初始化,攻擊者可讀取到伺服器記憶體中尚未覆寫的隨機資料,這些資料可能包含機密資訊或程式碼執行上下文。若攻擊者能進一步利用此資訊完成後續攻擊(例如利用記憶體探測取得執行權限或攻擊其他服務),風險將上升至遠端執行或資料洩漏。
受影響的部署環境
- MongoDB 8.x、7.x、6.x、5.x、4.4.x、4.2.x、4.0.x 與 3.6.x 版伺服器
- 任何啟用 zlib 壓縮功能的部署(如 networkMessageCompressors 或 net.compression.compressors 設定)
- 使用代理或反向代理(如 MongoDB Atlas、Kubernetes 等)仍會被影響,除非已停用壓縮功能
快速修補步驟
# 1. 先備份現行設定與資料
mongodump --archive=/tmp/backup.archive
# 2. 下載並安裝官方安全更新
# 以 Ubuntu 為例
sudo apt-get update
sudo apt-get install --only-upgrade mongodb-org
# 3. 若無法立即升級,先停用 zlib 壓縮
# 方式一:在 mongod.conf 加入
# net:
# compression:
# compressors: []
# 方式二:使用環境變數
# export MONGODB_COMPRESSION=none
# 重新啟動 mongod 或 mongos
sudo systemctl restart mongod
# 4. 確認版本已更新
mongod --version
若環境使用 MongoDB Atlas,請聯絡支援團隊以確保所有節點已升級至 8.2.4 或以上;若使用自管理部署,務必在所有節點執行上述步驟。
風險評估與防禦效益
- 高資料外洩風險:未經驗證即可讀取記憶體,可能洩露密碼、金鑰或業務機密。
- 遠端執行潛在性:若攻擊者能取得記憶體結構,可嘗試利用其他漏洞進行升級。
- 更新後可減少 100% 的未經驗證訊息導致的記憶體讀取,直接降低資料洩漏概率。
- 停用 zlib 壓縮雖可減低風險,但可能影響網路吞吐量,需評估業務容量需求。
MITRE ATT&CK 對應
- T1197 – Exploitation for Privilege Escalation:利用未初始化記憶體讀取進行後續權限提升。
- T1618 – Command and Control: Exfiltration Over Unencrypted/Encrypted Non-C2 Protocol:若攻擊者能讀取記憶體中的機密資訊,可能用於後續數據外洩。
結論
CVE‑2025‑14847 是一個高度嚴重的 zlib 相關漏洞,對 MongoDB 伺服器的安全性構成實質威脅。透過官方安全更新或停用壓縮功能,可在短時間內消除此風險。IT/資安工程師應立即檢查環境版本、更新或停用壓縮,並在部署前審查壓縮設定是否必要;對於高敏感資料的部署,建議加強網路隔離與身份驗證機制,避免未經授權的資料傳輸。
參考資料與原文來源
- 🔗 原文來源: MongoDB 呼籲 IT 人員儘速修補高風險資安漏洞
- 🔗 原文來源: MongoDB 呼籲用戶儘速修補可用於讀取記憶體內容的漏洞
- 🔗 原文來源: iThome 資安日報 2025‑12‑26
🧠本文由 DreamJ AI 技術新聞生成系統 自動撰寫並進行語意優化,僅供技術研究與教學使用。
請以原廠公告、CVE 官方資料與安全建議為最終依據。












發佈留言