製品・ソフトウェアに関する情報
FasterXML, LLCのJackson-databindにおける複数の脆弱性
Title FasterXML, LLCのJackson-databindにおける複数の脆弱性
Summary

jackson-databindはJackson Data Processorの汎用データバインディング機能およびツリーモデルを含んでいます。バージョン2.10.0から2.18.8、2.21.4、3.1.4までの間、jackson-databindのPolymorphicTypeValidator(PTV)は多態的なデシリアライズを保護する主要な安全機構です。多態的な型指定が有効で、型識別子にジェネリックパラメータが含まれる場合(つまり型ID文字列に「」が含まれる場合)、DatabindContext._resolveAndValidateGeneric()は設定されたPTVに対して生のコンテナクラス名(「」以前の部分文字列)のみを検証します。コンテナ型が承認されると、このメソッドはTypeFactory.constructFromCanonical()を使用して完全なカノニカル型文字列を解析し、ネストされた型引数をPTVで検証することなく完全にパラメータ化された型を返します。ネストされた型引数はその後デシリアライズ中に解決およびインスタンス化され、Beanとしてプロパティが設定されます。攻撃者が型IDを制御できる場合、許可されたコンテナのジェネリック型パラメータとして拒否されたクラスを配置することが可能です。例えば、java.util.ArrayListcom.evil.Gadgetはjava.util.ArrayListのみが許可リストにある場合でも、コンテナはPTVチェックを通過します。com.evil.GadgetはClass.forName(name, true, loader)でロードされてインスタンス化され、そのプロパティは攻撃者が制御するJSONから設定されます。これにより、明示的に構成されたPTV許可リストが完全に回避されます。この脆弱性はバージョン2.18.8、2.21.4および3.1.4で修正されました。

Possible impacts ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

ベンダ情報を参照して適切な対策を実施してください。

Publication Date June 23, 2026, midnight
Registration Date June 29, 2026, 11:06 a.m.
Last Update June 29, 2026, 11:06 a.m.
CVSS3.0 : 重要
Score 8.1
Vector CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected System
FasterXML, LLC
Jackson-databind 2.10.0 以上 2.18.8 未満
Jackson-databind 2.19.0 以上 2.21.4 未満
Jackson-databind 3.0.0 以上 3.1.4 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2026年06月29日]
  掲載
June 29, 2026, 11:06 a.m.

NVD Vulnerability Information
CVE-2026-54512
Summary

jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.10.0 until 2.18.8, 2.21.4, and 3.1.4, jackson-databind's PolymorphicTypeValidator (PTV) is the primary safety mechanism guarding polymorphic deserialization. When polymorphic typing is enabled and a type identifier contains generic parameters (i.e. the type ID string contains <), DatabindContext._resolveAndValidateGeneric() validates only the raw container class name (the substring before <) against the configured PTV. If the container type is approved, the method parses the full canonical type string via TypeFactory.constructFromCanonical() and returns the fully parameterized type without ever validating the nested type arguments against the PTV. The nested type arguments are then resolved, instantiated, and populated as beans during deserialization. An attacker who controls the type ID can therefore place a denied class as a generic type parameter of an allowed container — for example java.util.ArrayList<com.evil.Gadget> when only java.util.ArrayList is allow-listed. The container passes the PTV check; com.evil.Gadget is loaded via Class.forName(name, true, loader), instantiated, and its properties are set from attacker-controlled JSON. This completely bypasses an explicitly configured PTV allow-list. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.

Publication Date June 24, 2026, 6:17 a.m.
Registration Date June 27, 2026, 4:16 a.m.
Last Update June 28, 2026, 6:01 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:* 2.10.0 2.18.8
cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:* 2.19.0 2.21.4
cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:* 3.0.0 3.1.4
Related information, measures and tools
Common Vulnerabilities List