MongoDBのmacOS版で証明書検証が省略、修正版あり
macOS上のMongoDB ServerがIPv6の相手とTLSで接続するとき、証明書の検証が働かず、通信を盗み見られたり書き換えられたりするおそれがあります。macOSでMongoDBを動かしている組織は、修正版への更新と、IPv6で接続する構成があるかの確認を進めてください。
同じ発表の脆弱性 2 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-120808 高 9.1
- CVE-2026-118383 重大 9.5
急ぎ度: 早めに
CVSS v3は7.4、v4は9.1で通信の機密性と完全性に高い影響があり、修正版が4系統で公開済みですが、経路上に入られることが条件で、対象もmacOS上のプロセスに限られるため、至急ではなく早めの更新が妥当です。
関係があるか
macOS上でMongoDB Serverを動かし、Apple SecureTransportをTLSの実装に使っている組織が対象です。レプリカセットのノード間や外部サービスへの接続でIPv6アドレスを使う構成は、特に影響を受けやすくなります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| MongoDB Server 9.0系 | 9.0.0以上、9.0.7未満 | 9.0.7 |
| MongoDB Server 8.3系 | 8.3.0以上、8.3.16未満 | 8.3.16 |
| MongoDB Server 8.0系 | 8.0.0以上、8.0.37未満 | 8.0.37 |
| MongoDB Server 7.0系 | 7.0.0以上、7.0.48未満 | 7.0.48 |
確かめ方
- 1MongoDBを動かしているOSがmacOSかどうかを確認します。macOS以外で動くプロセスは、この脆弱性の対象として挙げられていません。
- 2
mongod --versionで版を確認し、上の表の範囲に入るかを見ます。 - 3TLSを有効にしているかと、レプリカセットの構成や接続文字列、外部サービスとの接続設定にIPv6アドレスがないかを確認します。ホスト名で指定した接続先がIPv6アドレスに解決される場合も、念のため対象として扱ってください。
- 48.2系列など、表に載っていない版を使っている場合は、MongoDBの告知で扱いを確認してください。
何が起きたか
macOS上で動くMongoDBが、IPv6アドレスの相手へTLSで接続するとき、相手の証明書が信頼できるかどうかの検証結果が使われません。正規の証明書でなくても接続が成立してしまうため、通信の暗号化は保たれていても、相手が本物かどうかが確かめられない状態になります。
MongoDBのTLS実装がApple SecureTransportを使う場合に、証明書の信頼性を評価するSecTrustEvaluateの結果が捨てられることが原因です。分類はCWE-295(証明書の不適切な検証)です。
MongoDBの課題管理票では、2026年11月10日に修正済みとなり、7.0・8.0・8.3・9.0の各系統に修正版が用意されました。
攻撃の流れ
-
1
経路上に位置取る
攻撃者が、MongoDBのノード間や外部サービスとの通信経路の途中に入ります。
-
2
偽の証明書を示す
IPv6宛ての接続に対し、信頼されていない証明書を相手として提示します。
-
3
検証が省かれる
信頼性の評価結果が捨てられ、偽の相手との接続が成立します。
-
4
通信を盗聴・改ざん
暗号化された通信の中身を読まれ、書き換えられるおそれがあります。
どう悪用されるか
認証は要らず、利用者の操作も必要ありません。ただし、攻撃者がMongoDBの通信経路の途中に入れることが前提で、CVSSでも攻撃の難しさは高めに評価されています。対象はIPv6アドレスの相手への外向きの接続です。
悪用されると、ノード間や外部サービスとの通信の内容を読まれ、書き換えられるおそれがあります。可用性への影響は、CVSSでは「なし」とされています。
今すぐやること
-
1
macOSで動くMongoDBを洗い出す
本番に限らず、開発者のMacや検証用の環境で動くプロセスも含めて一覧にし、版を確認します。
mongod --version -
2
修正版に更新する
使っている系統に対応する修正版に更新します。レプリカセットやシャード構成では、ノードごとの更新順や再起動の影響を、通常の更新手順に沿って検討してください。
-
3
IPv6での接続箇所を把握する
更新の優先順位を決めるため、ノード間や外部サービスへの接続でIPv6アドレスを使っている箇所を洗い出します。IPv6の接続が多い環境から先に更新してください。
-
4
未更新だった期間の通信を振り返る
共有のネットワークや信頼できない経路を通ってIPv6で接続していた場合は、想定外の接続先や、データの不整合がなかったかをログと照らして確認します。
すぐ更新できないとき
ベンダーの案内に回避策の記載はありません。更新までのつなぎとして、IPv6アドレスで接続している箇所を、IPv4での接続に切り替えるか、第三者が経路に入れないネットワーク内に限る方法が考えられます。ただし、これは筆者の見立てで、ベンダーの案内ではありません。切り替えると証明書の名前の照合に影響する場合があるため、先に検証環境で試してください。
背景
MongoDB Serverはアプリケーションのデータを持つデータベースで、レプリカセットを組むと、ノード同士がTLSで通信してデータを複製します。TLSには、通信を暗号化する役目と、接続相手が本物だと確かめる役目があります。封筒に鍵をかけても、宛先の本人確認をしなければ、偽の受取人に渡してしまいます。今回の脆弱性では、その本人確認の結果が使われません。
証明書の検証を誤って省くと、暗号化していても中間者に気づけなくなります。この脆弱性は、検証の結果を受け取る処理が、IPv6宛ての接続でだけ結果を捨てる点が特徴です。IPv4で接続している環境では目立たないまま残り、IPv6を使い始めた時点で表に出る可能性があります。macOSのMongoDBは、本番よりも開発や検証の環境が中心になりやすいと筆者は見ています。ただし、検証環境が本番のデータの写しを持っていたり、本番とネットワークがつながっていたりすれば、軽く扱えません。
よくある質問
Q.CVSS v3が7.4で、v4が9.1と大きく違うのはなぜですか。
まだ分かっていないこと
- 8.2系列など、影響を受ける版として挙げられていない系統の扱いは、記載がありません。
- 修正の具体的な内容は、課題管理票に書かれていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| MongoDBMongoDB Server |
9.0.0 以上 9.0.7 未満→ 9.0.7 8.3.0 以上 8.3.16 未満→ 8.3.16 8.0.0 以上 8.0.37 未満→ 8.0.37 7.0.0 以上 7.0.48 未満→ 7.0.48 |
9.0.7 8.3.16 8.0.37 7.0.48 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
An issue exists in MongoDB's macOS TLS client implementation where certificate chain-of-trust validation is bypassed for outbound connections to IPv6-addressed peers. When a MongoDB process using the Apple SecureTransport TLS backend connects to an IPv6 target, the trust evaluation result from SecTrustEvaluate is silently discarded, regardless of whether the peer's certificate is trusted. An on-path party could exploit this by presenting a self-signed certificate containing the target's IPv6 address in the Subject Alternative Name to intercept and modify encrypted inter-node or external service traffic. This issue only affects MongoDB processes running on macOS with the Apple SecureTransport TLS provider.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- web jira.mongodb.org
- web nvd.nist.gov
- web github.com