つみかさね

CVE-2026-54513

High(8.1)

jackson-databindの配列サブタイプ許可リストバイパス CVE-2026-54513:影響範囲と対応方法

公開日: 2026-06-23データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
jackson-databindFasterXML2.10.0 〜 < 2.18.8 / < 2.21.4 / < 3.1.4

対応ガイド

high|推奨セキュリティ修正影響: 広範

推奨アクション

  1. 1mvn dependency:tree 等で jackson-databind のバージョンを確認する
  2. 2allowIfSubTypeIsArray() を使うPTV構成があるか確認する
  3. 3jackson-databind 2.18.8 / 2.21.4 / 3.1.4 以降へアップグレードする

影響対象

jackson-databind でポリモーフィックデシリアライズを行うJavaアプリケーション

対応不要な人

  • ✓jackson-databind 2.18.8 / 2.21.4 / 3.1.4 以降を使用中
  • ✓ポリモーフィック型検証(allowIfSubTypeIsArray)を使用していない

補足

  • -ポリモーフィックデシリアライズを使わない構成では影響が限定的です
  • -暫定策として配列要素型を明示的に許可リストへ登録する方法もあります
CVEjackson-databindJavaデシリアライズMaven

30秒で判断

対応すべき人:

  • jackson-databind 2.10.0 以降(2.18.8 / 2.21.4 / 3.1.4 より前)を使用している
  • BasicPolymorphicTypeValidator の allowIfSubTypeIsArray() をポリモーフィック型検証に使用している

対応不要な人:

  • jackson-databind 2.18.8 / 2.21.4 / 3.1.4 以降へアップグレード済み
  • ポリモーフィックデシリアライズ(Polymorphic Type Handling)を使用していない
  • allowIfSubTypeIsArray() を使用していない

確認コマンド:

mvn dependency:tree | grep jackson-databind
# Gradle
./gradlew dependencies | grep jackson-databind

概要

jackson-databind は Jackson のデータバインディング機能を提供するライブラリです。2.10.0 から 2.18.8 / 2.21.4 / 3.1.4 より前のバージョンでは、BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() が clazz.isArray() だけで配列型を許可 し、配列の要素(コンポーネント)型を設定済みの許可リストと照合していませんでした。

このため、allowIfSubTypeIsArray() に加えて具体的な型の許可リストを設定していても、EvilType[] のような配列型が通過してしまいます。要素ごとの型ID(type ID)が存在しない場合、Jackson は要素の型を追加のPTVチェックなしに直接インスタンス化するため、許可リストを回避 できてしまいます(CWE-184 不完全なブラックリスト)。


CVSSベクトル

項目値
CVSSスコア8.1(High)
CWECWE-184(不完全な許可リスト)
攻撃元区分 (AV)ネットワーク (N)
必要な特権 (PR)なし (N)
ユーザーの関与 (UI)不要 (N)
前提条件allowIfSubTypeIsArray() を用いたPTV構成

影響を受けるソフトウェア

製品影響バージョン
com.fasterxml.jackson.core:jackson-databind2.10.0 〜 2.18.7(2.18.8 未満)
com.fasterxml.jackson.core:jackson-databind2.19系〜2.21.3(2.21.4 未満)
com.fasterxml.jackson.core:jackson-databind3.0系〜3.1.3(3.1.4 未満)

修正バージョンと回避策

修正バージョン: jackson-databind 2.18.8 / 2.21.4 / 3.1.4

暫定策として、allowIfSubTypeIsArray() の使用をやめ、必要な配列の要素型を明示的に許可リストへ登録する方法も有効です。


関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。