本文へ移動
English version →
重大 9.8 急ぎ度: 早めに

Apache MINA 3.0にRCE脆弱性、修正版は出ない見込み

Apache MINA 3.0.0から3.0.0-M2までのコーデックに、認証なしで遠隔からコードを実行されうる脆弱性が公表されました。該当版を使っているなら、信頼できない相手に接続を開いていないかを確認し、該当のデコーダーの利用をやめてください。

CVE-2026-118636 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS 3.1は9.8で認証も利用者の操作も要らない一方、サポート対象外のため修正版が見込めず、デコーダーを使わない構成に変えるしか手がありません。

関係があるか

Apache MINA 3.0系を使って自社でネットワークサーバーやクライアントを開発し、JavaNativeMessageDecoderを外部の相手と通信する経路に置いている組織が対象です。MINAを内部部品として組み込んだ製品でも、同じ構成なら当てはまります。

製品影響を受ける版修正版
Apache MINA(codecモジュールのJavaNativeMessageDecoder) 3.0.0から3.0.0-M2まで 提供されない見込み。割り当て時点でサポート対象外と記録されています

確かめ方

  1. 1ビルド定義から、MINAの版を確認します。Mavenなら mvn dependency:tree の出力でorg.apache.minaを探し、Gradleなら gradle dependencies で同じ名前を探します。
  2. 2自社のソースコードを grep -r "JavaNativeMessageDecoder" src/ のように検索し、実際にこのデコーダーを使っているかを確認します。
  3. 3使っている場合は、そのポートが社外や信頼できない端末から届くかを、ネットワーク構成図やファイアウォール設定で確認します。
  4. 4MINAを組み込んだ市販製品や他部署のシステムは、提供元に該当の有無を問い合わせます。

何が起きたか

Apache MINA 3.0系のコーデックに、受け取ったデータを検証なしでJavaのオブジェクトに復元してしまう脆弱性が見つかりました。悪用されると、このデコーダーを使うアプリケーションの権限で、遠隔から任意のコードを実行されるおそれがあります。

問題の部品はJavaNativeMessageDecoderです。受信したフレームのバイト列に対して、復元できるクラスを絞るフィルターを掛けないまま ObjectInputStream.readObject() を呼びます。分類は安全でないデシリアライズ(CWE-502)で、CVSS 3.1は9.8、深刻度はcriticalです。2026年10月31日にoss-securityで公表されました。

この脆弱性は「UNSUPPORTED WHEN ASSIGNED」と記録されています。CVE割り当ての時点で、すでにサポートが終わった版だったということです。

攻撃の流れ

  1. 1

    接続できる位置

    攻撃者が、デコーダーを使うMINAアプリケーションのポートに到達できる状態にあります。

  2. 2

    不正なデータ送信

    攻撃者が、オブジェクトの復元を狙って作ったバイト列をフレームとして送ります。

  3. 3

    無検証で復元

    デコーダーがクラスを絞らずにオブジェクトへ復元します。

  4. 4

    コード実行

    アプリケーションの権限で、攻撃者の意図した処理が動きます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

認証は要らず、利用者の操作も要りません。ネットワーク越しに到達できれば成立し、条件の複雑さも低いと評価されています。ただし前提として、アプリケーションがJavaNativeMessageDecoderを、信頼できない相手と直接つながる経路に置いている必要があります。社内の信頼できる相手だけと通信する構成であれば、直ちに同じ危険があるわけではありません。

悪用に成功されると、アプリケーションを動かしているアカウントの権限で任意のコードが実行されます。情報の読み取り、書き換え、サービス停止のすべてで影響が大きいと評価されています。サーバー上の認証情報や接続先の別システムへ被害が広がる可能性があります。

今すぐやること

  1. 1

    使用箇所を洗い出す

    自社のシステムと組み込み製品について、MINAの版とJavaNativeMessageDecoderの使用有無を確認します。使っていなければ、この脆弱性への対応は不要です。

    mvn dependency:tree
  2. 2

    信頼できない相手への露出を止める

    該当のポートを、社外や不特定の端末から到達できない状態にします。ファイアウォールやセキュリティグループで、接続元を必要な相手だけに絞ります。

  3. 3

    デコーダーを別の方式に置き換える

    Javaのオブジェクトを直接復元する方式をやめ、メッセージの形式を明示的に定義する方式へ切り替えます。置き換えには改修とテストが要るため、日程を立てて進めます。

  4. 4

    ベンダーの告知を確認する

    Apache MINAプロジェクトの告知で、移行先として案内されている版や、追加の回避策がないかを確認します。

  5. 5

    侵害の跡を調べる

    該当ポートで受けた通信と、アプリケーションが起動した不審なプロセスや外部への接続をログで確認します。公表直後のため、該当版を外部に公開していた場合は、念のため見ておくと安心です。

修正版がないあいだのつなぎ

置き換えまでのつなぎとして、該当のポートへ接続できる相手を、信頼できる端末やネットワークに限定します。あわせて、JDKのシリアライズフィルター(jdk.serialFilter)で復元を許すクラスを絞る方法もあります。ただし許可リストの設計を誤ると防げないため、恒久策はデコーダーの置き換えと考えてください。

背景

Apache MINAは、JavaでTCPやUDPのサーバー・クライアントを組み立てるためのネットワークアプリケーション用フレームワークです。通信の入出力を非同期で扱い、codecモジュールがバイト列とアプリケーション内のメッセージを相互に変換します。今回のJavaNativeMessageDecoderは、その変換をJava標準のオブジェクト直列化に任せる部品です。

Java標準の直列化は、受け取ったデータの指示どおりにオブジェクトを組み立てるため、送り手を信頼できない場面では危険です。この種の脆弱性は、すでにクラスパスにある部品の組み合わせを悪用してコードを動かす手口として、Javaの世界で広く知られています。JDKには復元できるクラスを絞るフィルターの仕組みがありますが、今回のデコーダーはそれを掛けていません。

よくある質問

Q.新しいJDKを使っていれば影響を受けませんか。
A.JDKの版だけでは安全になりません。デコーダーがフィルターなしで復元する点が問題で、アプリケーション側かJVM全体でフィルターを設定していなければ、同じ危険があります。
Q.MINAを直接使っていない場合も確認が必要ですか。
A.他の製品やライブラリが内部でMINA 3.0系を使っていることがあります。依存関係の一覧で確認できなければ、製品の提供元に該当の有無を問い合わせてください。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
Apache Software Foundation Apache MINA
3.0.0 〜 3.0.0-M2
—

ディストリビューション別の修正状況

各ディストリビューションが公開している、この CVE の修正パッケージ修正版は配布版ごとに違うので、リンク先で確かめてください。

原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

UNSUPPORTED WHEN ASSIGNED 

JavaNativeMessageDecoder in the MINA 3.0 codec module calls ObjectInputStream.readObject() on frame bytes with no class filter, so an
application that puts it in front of an untrusted peer is open to gadget-chain RCE.

As the 3.0.0 branch is inactive, we do not plan to release a version that fixes this issue.

Users are recommended to use the latest Apache MINA 2.2.X branch.

出典: oss-security (Openwall) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく