概要
リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。
説明
したがって、ALAS2023-2026-3305 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
jackson-databindのjava.nio.file.Path用デシリアライザーは、URIスキームを制限せずに攻撃者が指定したURIを解決します。JDKFromStringDeserializer.NioPathHelper.deserializeでは、信頼できないJSONからバインドされた文字列が新しいURI(値)に渡され、次にPath.of(uri)に渡されます。これにより FileSystemNotFoundException がスローされると、コードは ServiceLoader を列挙し<FileSystemProvider> スキームが攻撃者の選択したスキームに一致する最初のプロバイダーで provider.getPath(uri) を呼び出します。このため、信頼できない JSON が、デフォルトの JsonMapper の readValue 中に任意の登録済み FileSystemProvider を選択して駆動し、同時にプロバイダークラスのロードを強制する可能性があります。JDK ビルトインプロバイダー (file、jar/zipfs) のみが存在する場合、解決されたパスは不活性であり、マウントまたはネットワーク I/O は発生しません。
さらに影響を及ぼすには、クラスパスに副作用のあるサードパーティの FileSystemProvider が必要です。これは、2.18.10より前の2.8.0、2.21.6より前の2.19.0、2.22.2より前の2.22.0のcom.fasterxml.jackson.core:jackson-databind、3.1.6より前の3.0.0、3.2.2より前の3.2.0のtools.jackson.core:jackson-databindに影響します。ユーザーは、 2.18.10、 2.21.6、 2.22.2、 3.1.6、または 3.2.2 にアップグレードする必要があります。信頼できない JSON からの java.nio.file.Path のバインドは、バージョンに関わらず避ける必要があります。(CVE-2026-19032)
jackson-databindは、生文字列をCoreXMLDeserializers.Std._deserialize内のDatatypeFactory.newDuration(value)またはnewXMLGregorianCalendar(value)に逐語的に渡すことで、JSON文字列をjavax.xml.datatype.Durationまたはjavax.xml.datatype.XMLGregorianCalendarフィールドにバインドします。これらのデシリアライザーは、デフォルトでオプトインなしで登録されるため、ポリモーフィック型付けがなく、特別な構成も必要ないプレーンな ObjectMapper または JsonMapper がこのパスに到達します。XML スキーマの語彙文法では、任意の長さの数値コンポーネントが許可されており、JDK はネイティブの BigInteger(String) および BigDecimal(String) コンストラクタ(どちらも桁数が 2 次)を通じて具体化されます。数字はJSON番号トークンではなくJSON文字列トークンの中にあるため、jackson-coreのStreamReadConstraints.maxNumberLengthガードは適用されません。jackson 独自の NumberDeserializers は、文字列化された数値を解析する前に validateIntegerLength または validateFPLength を呼び出しますが、XML データ型デシリアライザーはその事前チェックを省略します。したがって、認証されていない攻撃者が、文字Pの後に数百万桁と文字Yで構成されるDuration値など、数メガバイトの単一のリクエストを送信し、数十秒から数分のシングルスレッドCPU作業を強制する可能性があります。少数の同時リクエストにより、サーバーのワーカースレッドが飽和する可能性があります。これは、2.18.10より前の2.0.0、2.21.6より前の2.19.0、2.22.2より前の2.22.0のcom.fasterxml.jackson.core:jackson-databind、3.1.6より前の3.0.0、3.2.2より前の3.2.0のtools.jackson.core:jackson-databindに影響します。ユーザーは、 2.18.10、 2.21.6、 2.22.2、 3.1.6、または 3.2.2 にアップグレードする必要があります。(CVE-2026-68497)
DefaultBaseTypeLimitingValidator は、明示的に構成されたカスタムバリデーターなしで@JsonTypeInfoが使用されるたびに自動的に適用される PolymorphicTypeValidator です。これは、固定されたセットの安全でない基本型に対してのみポリモーフィック解決を拒否し、その isSafeSubType メソッドは、そのセット外のすべての基本型に対して無条件に true を返します。java.lang.Comparable は、JDK およびアプリケーションクラスの非常に大部分で実装されており、その幅は java.io.Serializable に匹敵するにもかかわらず、リストから欠如していました。@JsonTypeInfoアノテーション付きプロパティまたはクラスを基本型として宣言し、カスタム PolymorphicTypeValidator を宣言しないアプリケーションは、基本的に Comparable を実装するすべてのクラスの型識別子を受け取ります。これにより、攻撃者が制御するオブジェクトのインスタンス化プリミティブが生成されます。実証された事例では、攻撃者が選択した任意のパスに対してjava.io.Fileを構築します。その後、アプリケーションがその値でパスを区別するメソッドを呼び出すと、これはパストラバーサル隣接します。Comparable を実装するクラスで、逆シリアル化のみによるコード実行をもたらすものは確認されていません。メソッドが構造的に明示的な PolymorphicTypeValidator 引数を必要とするため、activateDefaultTyping を介した Global Default Typing は影響を受けません。これは、2.18.10より前の2.11.0、2.21.6より前の2.19.0、2.22.2より前の2.22.0のcom.fasterxml.jackson.core:jackson-databind、3.1.6より前の3.0.0、3.2.2より前の3.2.0のtools.jackson.core:jackson-databindに影響します。ユーザーは、 2.18.10、 2.21.6、 2.22.2、 3.1.6、または 3.2.2 にアップグレードする必要があります。(CVE-2026-83557)
FasterXML jackson-databindのTypeDeserializerBase._findDeserializer()は、解決されたデシリアライザーを、攻撃者が指定した未加工のタイプIDの下にキャッシュします。名前ベースのポリモーフィズムがフォールバックで設定されている場合 (たとえば @JsonTypeInfo(use = Id.NAME, defaultImpl = ...)、認識されないすべての個別の型 ID は同じフォールバック デシリアライザーに解決されますが、_deserializers マップでは独自のキーとして保持されます。そのマップには構成可能なバインドがなく、型デシリアライザーの有効期間中存続するため、新しい未知の型 ID を繰り返し供給できる攻撃者は、リクエスト間で単調なメモリ保持を引き起こします。レポーターは、1 つの不明な ID を同じ回数繰り返すコントロールの単一のエントリに対して、10,000 の不明な ID からの 10,000 の保持エントリを観察しました。これにより、攻撃者が制御するキーカーディナリティがリクエストボリュームから分離されました。悪用するには、defaultImpl または同等のフォールバックで名前ベースのポリモーフィズムを有効にし、攻撃者の影響を受ける型 ID を受け入れ、リクエスト間で長寿命の ObjectMapper を再利用するアプリケーションが必要です。この修正により、認識されないIDに対するフォールバック解決策のキャッシュが停止され、キャッシュされたエントリの数とキャッシュ可能なタイプIDの長さの両方が制限されます。(CVE-2026-91776)
FasterXMLの@JsonIdentityInfoオブジェクトIDの前方参照補完 jackson-databindは、解決されたすべてのIDについて保留中の参照アキュムレータの線形スキャンを実行します。影響を受けるパスは、 CollectionDeserializer.CollectionReferringAccumulator.resolveForwardReference() および MapDeserializer の同等の実装です。ドキュメントが最初に N 個の未解決のオブジェクト ID 参照をアイデンティティ対応コレクションまたはマップに作成し、次にそれらの同じ ID を逆の順序で定義すると、N * (N + 1) / 2 ID 比較の次数で完了が実行されます。したがって、サイズが直線的に大きくなる浅いドキュメントは、逆シリアル化中に 2 次の CPU 仕事が発生します。レポーターは、IDクラスでequals()呼び出しをインストルメント化し、すべての参照がすでに解決されている同じサイズのコントロールの保留中の参照ルックアップパスの0比較に対して、N = 2,000で正確に2,003,000の比較を測定しました。この入力には、深いネストや構文的に異常な JSON は必要ありません。悪用するには、攻撃者の影響を受けた JSON を ID が有効なコレクションまたはマップに逆シリアル化するアプリケーションが必要です。この修正は、繰り返される線形検索を、キー付きの保留参照構造体に置き換えます。(CVE-2026-91777)
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「dnf update jackson-databind --releasever 2023.12.20261026」または「dnf update --advisory ALAS2023-2026-3305 --releasever 2023.12.20261026」を実行してシステムを更新してください。
プラグインの詳細
ファイル名: al2023_ALAS2023-2026-3305.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:H/Au:N/C:P/I:P/A:P
ベクトル: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:jackson-databind
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: No known exploits are available