本文へ移動
情シスのミカタ
ニュース約5分で読めます

MongoDBのC#とCのドライバーに12件の欠陥 3.13.0などへ

MongoDBは2026年10月22日、.NETのアプリが使うC#ドライバーの3.13.0で11件、Cドライバーの1.30.14と2.5.7で1件の脆弱性を直しました。利用者の入力によるNoSQLの命令の差し込み、証明書の比べ方の不備による認証のすり抜け、暗号化されずに保存される不具合などです。上げる前に確かめる動作の変更とあわせて整理します。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
MongoDBのC#とCのドライバーに12件の欠陥 3.13.0などへ

この記事のまとめ

  • MongoDBは10月22日、C#ドライバー3.13.0で11件、Cドライバー1.30.14・2.5.7で1件の脆弱性を直しました。CVSS 4.0で最も高いのは8.2(High)です。
  • C#ドライバーでは、利用者の入力がLINQのフィールド名などに入るとNoSQLの命令が差し込まれる欠陥、証明書を発行者とシリアル番号だけで比べる認証のすり抜け、暗号化されずに保存される欠陥などがあります。
  • 3.13.0は、おかしな入力をより厳しく断るようになり、一部の動作が変わります。.NETのアプリを持つ会社は、版を確かめ、動作の変更を開発の担当と確かめてから上げます。
こんな方に#20代#30代#40代#50代実務

MongoDBは2026年10月22日、.NETのアプリがMongoDBにつなぐときに使う「C#ドライバー」の3.13.0で、11件の脆弱性を直しました。同じ日に、Cで書かれたアプリが使う「Cドライバー」の1.30.14と2.5.7で、1件を直しています。

C#ドライバーの11件には、利用者の入力でNoSQLの命令が差し込まれる欠陥や、ほかの利用者の接続を使えてしまう認証のすり抜け、暗号化するはずのデータが暗号化されずに保存される欠陥が含まれます。CVSS 4.0で最も高いのは8.2(High)です。

12件の中身

図解。題はMongoDBのドライバーの12件、何が起きるか。C#ドライバーの11件は3.13.0、Cドライバーの1件は1.30.14と2.5.7で直った。数字はCVSS 4.0。利用者の入力で命令が差し込まれる(C#): LINQのフィールド名・辞書のキー7.2(CVE-2026-114648)、更新の組み立て7.1(CVE-2026-114652)、生のBSONの長さの食い違い6.9(CVE-2026-114646)、findOneAndReplace 5.3(CVE-2026-114647)。暗号化と認証がすり抜けられる(C#): 証明書の比べ方7.6(CVE-2026-114649)、暗号化の対象の指定7.1(CVE-2026-114653)、データベース名の文字コード6.9(CVE-2026-114650)。止まる・データが壊れる・漏れる(C#): BSON・JSONの読み込み8.2(CVE-2026-114644)、バイナリの種類の値6.9(CVE-2026-114654)、配列の読み込み6.3(CVE-2026-114651)、GeoJSONの追加の項目5.3(CVE-2026-114643)。Cドライバー: Kerberos・SSPIの認証5.7(CVE-2026-114645)、Windowsの認証の仕組みでビルドしたものが対象。直った版の表: C#は3.13.0、Cは1.30.14と2.5.7
MongoDBのドライバーの12件。差し込み、すり抜け、停止や漏えいの3つに分かれる作成: 編集部 / もとの資料: MongoDB「C# Driver 3.13.0」リリースノート・Cドライバーの勧告・CVEの記録
CVE ドライバー CVSS 4.0 中身
CVE-2026-114644 C# 8.2 BSON・JSONの読み込みで、ある種類の値を際限なく持ち続け、認証なしでメモリを使い切らせられる
CVE-2026-114649 C# 7.6 接続を共有してよいかを決めるときに、証明書を発行者とシリアル番号だけで比べる。秘密鍵を持たずに、ほかの人の証明書の接続を使える
CVE-2026-114648 C# 7.2 LINQのフィールド名や辞書のキーの「.」「$」をそのまま送る。ほかの人の文書を見られたり、更新が広がったりする
CVE-2026-114652 C# 7.1 更新の組み立てで、値が1つのリストが命令として読み替えられる
CVE-2026-114653 C# 7.1 暗号化の対象の指定で、フィールド名が正規表現として読まれ、暗号化されずに保存されることがある
CVE-2026-114646 C# 6.9 外から受け取った生のBSONの長さの宣言と中身が合わなくても、そのまま送り、要素が足される
CVE-2026-114650 C# 6.9 Windowsの文字コードの設定によって、データベース名の変換で情報が欠け、暗号化されずに書き込まれる
CVE-2026-114654 C# 6.9 範囲の外のバイナリの種類の値で、形の崩れたデータを書き出して保存してしまう
CVE-2026-114651 C# 6.3 細工した配列の読み込みで、同じスレッドで前に扱った別のデータの一部が出てくる
CVE-2026-114645 C 5.7 Windowsの認証(Kerberos・SSPI)で、長すぎるユーザー名を入れるとバッファ超過が起き、アプリが止まる
CVE-2026-114643 C# 5.3 GeoJSONの追加の項目の名前を確かめず、位置の情報が二重になり、読めなくなる
CVE-2026-114647 C# 5.3 findOneAndReplaceで、「$」で始まる置き換えの文書が更新の命令として扱われる

ドイツのCERT-Bundも10月22日、C#ドライバー(WID-SEC-2026-4126)とCドライバー(WID-SEC-2026-4134)の注意を出しました。

上げる前に確かめる動作の変更(C#ドライバー3.13.0)

MongoDBは、3.13.0でおかしな入力をより厳しく断るようになったとして、上げる前に動作の変更を確かめるよう求めています。リリースノートに書かれた主な変更は次のとおりです。

  • LINQの変換で、「.」を含む名前や、「$」で始まる名前などを、例外(NotSupportedException)で断るようになる。
  • FindOneAndReplace で、置き換えの文書の最初の名前が「$」で始まると、例外(ArgumentException)で断るようになる。ReplaceOne と同じ扱い。
  • 生のBSONの長さの宣言が中身と合わないと、書き込みのときに例外で断る。
  • 範囲の外のバイナリの種類の値を断る。GeoJSONで追加の項目が決まった項目と同じ名前だと、例外で断る。
  • 接続を共有してよいかの証明書の比べ方が、証明書全体(SHA-256)と秘密鍵の有無で比べるやり方に変わる。
  • 値が1つの PushEach などの更新の出し方が変わる。BsonSymbolTable と、暗号化の対象の指定の PatternProperty の一部は、使わない方がよいもの(obsolete)になる。

MongoDBのドライバーの脆弱性は、これまでにもMongoDBのPHPドライバーに脆弱性3件、修正版と実行設定を確認やMongoDBのPyMongoに脆弱性、不正データの読込で処理停止の恐れで取り上げています。

影響する会社・しない会社

  • 影響する: 社内や委託先が作った.NETのアプリで、MongoDBのC#ドライバーの3.13.0より前を使っている会社です。11件の対象になります。
  • 影響する: 利用者の入力を、LINQのフィールド名、辞書のキー、置き換えの文書、更新の組み立ての値に使っているアプリがある会社です。NoSQLの差し込みの欠陥が当たります。
  • 影響する: 利用者ごとに別の証明書でMongoDBにつなぐ作りのアプリや、クライアント側の暗号化(CSFLE)を使うアプリがある会社です。認証のすり抜けや、暗号化されない欠陥が当たりえます。
  • 影響する: Windowsの認証(Kerberos・SSPI)を使うようにビルドしたCドライバーを使う会社です。1.30.14か2.5.7に上げます。
  • 影響しない: MongoDBのサーバーそのものと、C#とC以外のドライバーは、今回の勧告の対象ではありません。

情シスが今日やること

  1. MongoDBのドライバーを使うアプリを洗い出します。 社内と委託先の.NETのアプリで、NuGetの MongoDB.Driver などの版を、依存関係の一覧やSBOMで確かめます。Cのアプリは、Cドライバー(libmongoc)の版を確かめます。
  2. C#ドライバーを3.13.0に上げる計画を立てます。 上げる前に、リリースノートの動作の変更を開発の担当と確かめ、試験の環境で動かします。
  3. 入力の使い方を確かめます。 利用者の入力を、フィールド名や辞書のキー、置き換えの文書に使っていないかを、開発の担当に確かめてもらいます。使っていれば、上げるまでの間、入力の文字を絞れないかも見ます(当社の見立て)。
  4. 暗号化と証明書の使い方を確かめます。 クライアント側の暗号化を使っているなら、暗号化されずに保存されたデータが無いかを確かめます。利用者ごとの証明書でつなぐ作りなら、3.13.0への更新を急ぎます。
  5. Cドライバーを上げます。 Windowsの認証を使うCのアプリは、1.30.14か2.5.7に上げます。

よくある質問

Qどのアプリが関係しますか。

AMongoDBに.NET(C#など)からつなぐアプリは、C#ドライバー(NuGetのMongoDB.Driverなど)を使っています。Cで書かれたアプリや、Cドライバーを土台にした部品は、Cドライバーを使っています。3.13.0より前のC#ドライバーと、1.30.14・2.5.7より前のCドライバーが対象です。

QNoSQLの差し込みは、どんなアプリで当たりますか。

AMongoDBの説明では、利用者の入力が、LINQのフィールド名や辞書のキー、置き換えの文書のフィールド名、更新の組み立ての値などに入るアプリで当たります。入力を値としてだけ使い、フィールド名に使わないアプリでは当たりにくいと考えられます(当社の見立て)。

QCドライバーの欠陥は、どの環境で当たりますか。

AWindowsの認証の仕組み(Kerberos・SSPI)を使うようにビルドしたCドライバーだけです。接続の設定に、長すぎるユーザー名を入れられる人がいると、アプリが止まる恐れがあります。

出典・参考

チェック済み。この記事は監修者によってチェックされました。(2026年10月23日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします