CVE-2026-21452 in msgpack-java
要約
〜によって VulDB • 2026年05月30日
Java用MessagePackは、Java向けのシリアライザ実装です。0.9.11より前のバージョンには、攻撃者が制御可能なペイロード長を持つEXT32オブジェクトを含む.msgpackファイルのデシリアライズ時に、サービス拒否(DoS)脆弱性が存在します。MessagePack-Javaは拡張ヘッダを遅延解析しますが、拡張データのインスタンス化時には宣言されたEXTペイロード長を信頼します。ExtensionValue.getData()が呼び出されると、ライブラリは上限を強制することなく宣言された長さのバイト配列の割り当てを試みます。その結果、わずか数バイトの悪意のある.msgpackファイルでも無制限のヒープ割り当てを引き起こし、JVMヒープの枯渇、プロセスの終了、またはサービスの利用不可を招きます。この脆弱性はモデルの読み込み/デシリアライズ中にトリガーされるため、リモート攻撃に適したモデル形式の脆弱性です。この脆弱性により、Java用MessagePackを使用して信頼できない.msgpackモデルファイルをデシリアライズするアプリケーションに対して、リモートからのサービス拒否攻撃が可能になります。攻撃者が制御可能な過度に大きなペイロード長を持つEXT32オブジェクトを含む、特別に作成された構文上有効な.msgpackファイルは、デシリアライズ中に無制限のメモリ割り当てを引き起こす可能性があります。モデルファイルが読み込まれると、ライブラリは宣言された長さのメタデータを信頼し、そのサイズのバイト配列の割り当てを試みるため、急速なヒープの枯渇、過度なガベージコレクション、またはOutOfMemoryErrorによるJVMの即時終了につながります。この攻撃には不正なバイト、ユーザーの対話、または特権昇格は必要なく、モデルレジストリ、推論サービス、CI/CDパイプライン、.msgpackアーティファクトを受け取るまたは取得するクラウドベースのモデルホスティングプラットフォームなど、現実的な環境でリモートから悪用できます。悪意のあるファイルは極めて小さくかつ有効なため、基本的な検証やスキャンメカニズムを回避でき、生産環境での完全なサービス利用不可や潜在的なカスケード障害を引き起こす可能性があります。バージョン0.9.11でこの脆弱性は修正されています。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.