openSUSE 15 セキュリティ更新 : tensorflow2 (openSUSE-SU-2022:10014-1)

high Nessus プラグイン ID 162400

Language:

概要

リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。

説明

リモートの SUSE Linux SUSE15 ホストには、openSUSE-SU-2022:10014-1 のアドバイザリに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

- 場合によっては、影響を受けるバージョンの TensorFlow の保存されたモデルが、コードの実行中に初期化されていない値の使用をトリガーする可能性があります。原因は、テンソルバッファがその型のデフォルト値で満たされているものの、Eigen で量子化された浮動小数点タイプをデフォルトで初期化し忘れていることにあります。これはバージョン 1.15.5、2.0.4、2.1.3、2.2.2、2.3.2、および 2.4.0 で修正されました。(CVE-2020-26266)

- 影響を受けるバージョンの TensorFlow の tf.raw_ops.DataFormatVecPermute API が、src_format および dst_format 属性を検証しません。コードは、これらの 2 つの引数が NHWC の順列を定義することを前提としています。このため、初期化されていないメモリアクセス、領域外の読み取り、さらにはクラッシュが発生する可能性があります。これはバージョン 1.15.5、2.0.4、2.1.3、2.2.2、2.3.2、および 2.4.0 で修正されました。(CVE-2020-26267)

- 影響を受けるバージョンの TensorFlow の tf.raw_ops.ImmutableConst 操作が、不変であると見なされるメモリマップされたファイルから作成された定数テンソルを返します。ただし、テンソルの型が整数型でない場合、この操作によって Python インタープリターがメモリ領域に書き込もうとするため、クラッシュします。ファイルが小さすぎる場合、メモリ領域のバイト数が作成するテンソルに必要なバイト数よりも少ないため、TensorFlow は適切にエラーを返します。ただし、十分なバイトがあると、上記のスニペットはすぐにセグメンテーション違反を引き起こします。これは、必要な仮想メソッドがオーバーライドされず、バッファデータを返すために使用されるアロケーターが不透明なハンドルを返すものとしてマークされていないためです。これはバージョン 1.15.5、2.0.4、2.1.3、2.2.2、2.3.2、および 2.4.0 で修正されました。(CVE-2020-26268)

- LSTM/GRU レイヤーがゼロレングスの入力を受信する LSTM/GRU モデルを実行している TensorFlow の影響を受けるバージョンで、CUDA バックエンドを使用する際に CHECK エラーが発生します。このため、ユーザーがレイヤーへの入力を制御できる場合に、サービス拒否によるクエリ拒否の脆弱性が発生する可能性があります。これはバージョン 1.15.5、2.0.4、2.1.3、2.2.2、2.3.2、および 2.4.0 で修正されました。(CVE-2020-26270)

- 場合によっては、影響を受けるバージョンの TensorFlow で保存されたモデルをロードすると、計算グラフの構築中に初期化されていないメモリにアクセスする可能性があります。MakeEdge 関数は、src ノードの 1 つの出力テンソル (output_index で指定) と dst ノードの入力スロット (input_index で指定) の間にエッジを作成します。これは両側のテンソルのタイプが一致する場合にのみ可能であるため、この関数は最初に、対応する DataType 値を取得し、それらが等しいかどうかを比較します。ただし、インデックスがインデックス付けする配列の内部を指しているかどうかのチェックはありません。したがって、これにより、対応するヒープ割り当て配列の領域外のデータにアクセスする可能性があります。ほとんどのシナリオで、これは一元化されたデータアクセスとして表示される可能性がありますが、インデックスが配列の境界から遠く離れている場合に、これがライブラリからアドレスを漏洩させるために使用される可能性があります。これはバージョン 1.15.5、2.0.4、2.1.3、2.2.2、2.3.2、および 2.4.0 で修正されました。(CVE-2020-26271)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TensorFlow のスパースリダクション操作の実装により、ヒープに割り当てられたデータの領域外でアクセスがトリガーされる可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/a1bc56203f21a5a4995311825ffaba7a670d7747/tensorflow/core/kernels/sparse_reduce_op.cc#L217-L228) は、各リダクショングループがオーバーフローしないこと、および対応する各インデックスが入力テンソルの範囲外を指していないことを検証できません。GitHub コミット 87158f43f05f2720a374f3e6d22a7aaa3a33f750 の問題にパッチを適用しました。
この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37635)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.SparseDenseCwiseDiv」の実装がゼロ除算エラーに対して脆弱です。[実装] (https://github.com/tensorflow/tensorflow/blob/a1bc56203f21a5a4995311825ffaba7a670d7747/tensorflow/core/kernels/sparse_dense_binary_op_shared.cc#L56) は、すべてのバイナリ演算に共通のクラスを使用しますが、0 による除算のケースを個別に処理できません。GitHub コミット d9204be9f49520cdaaeb2541d1dc5187b23f31d9 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37636)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。「tf.raw_ops.CompressElement」に無効な入力を渡して、TensorFlow で NULL ポインターデリファレンスを発生させることが可能です。[実装] (https://github.com/tensorflow/tensorflow/blob/47a06f40411a69c99f381495f490536972152ac0/tensorflow/core/data/compression_utils.cc#L34) は、バッファが有効であることを検証する前に、別の関数呼び出しの戻り値から取得したバッファのサイズにアクセスしていました。GitHub コミット 5dc7f6981fdaf74c8c5be41f393df705841fb7c5 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37637)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。「tf.raw_ops.RaggedTensorToTensor」API の「row_partition_types」に無効な引数を送信すると、null ポインターデリファレンスが発生し、動作が未定義になります。[実装] (https://github.com/tensorflow/tensorflow/blob/47a06f40411a69c99f381495f490536972152ac0/tensorflow/core/kernels/ragged_tensor_to_tensor_op.cc#L328) は、提供されたリストが空でないことを検証することなく、ユーザー指定の値のリストの最初の要素にアクセスします。GitHub コミット 301ae88b331d37a2a16159b65b255f4f9eb39314 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37638)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。未加工の API を使用してテンソルを復元する際にテンソル名が入力されない場合に、TensorFlow が騙されて null ポインターを逆参照する可能性があります。
または、攻撃者は、一部のテンソル名を入力してヒープ割り当てデータの境界外のメモリを読み取る可能性がありますが、復元を成功させるには不十分です。[実装] (https://github.com/tensorflow/tensorflow/blob/47a06f40411a69c99f381495f490536972152ac0/tensorflow/core/kernels/save_restore_tensor.cc#L158-L159) は、ユーザーが制御する「tensor_name」入力に対応するテンソルリストを取得し、復元インデックス (「preferred_shard」引数で制御) でテンソルを即座に取得します。
これは、提供されたリストに十分な値があることを検証することなく発生します。リストが空の場合、これにより NULL ポインターが逆参照されます (未定義の動作)。ただし、リストにいくつかの要素がある場合、復元インデックスが境界外にあると、ヒープ OOB 読み取りが発生します。GitHub コミット 9e82dce6e6bd1f36a57e08fa85af213e2b2f2622 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37639)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.SparseReshape」の実装に、整数除算の例外を発生させる可能性があります。
[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/reshape_util.cc#L176-L181) は、入力に少なくとも 1 つのインデックスがある場合は常にリフォーム関数を呼び出しますが、入力の形状またはターゲット形状にゼロ以外の数の要素があることはチェックしません。[形状変更ファンクター] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/reshape_util.cc#L40-L78) は、ターゲット形状の寸法で盲目的に除算します。したがって、これがチェックされていない場合、コードは 0 で除算されます。GitHub コミット 4923de56ec94fff7770df259ab7f2288a74feb41 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。これは影響を受ける他のバージョンであるため、TensorFlow 2.5.1 でもこのコミットを選択します。(CVE-2021-37640)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.RaggedGather」への引数が有効な不規則なテンソルコードを判断しない場合、ヒープに割り当てられたバッファの境界外から読み取りを発生させる可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/ragged_gather_op.cc#L70) は、テンソルのランクが少なくとも 1 である (つまり、スカラーではない) ことをチェックする前に、テンソル形状の最初の次元を直接読み取ります。さらに、この実装は「params_nested_splits」によって与えられたリストがテンソルの空のリストでないことをチェックしません。GitHub コミット a2b743f6017d7b97af1fe49087ae15f0ac634373 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37641)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.ResourceScatterDiv」の実装がゼロ除算エラーに対して脆弱です。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/resource_variable_ops.cc#L865) は、すべてのバイナリ演算に共通のクラスを使用しますが、0 による除算のケースを個別に処理できません。GitHub コミット 4aacb30888638da75023e6601149415b39763d76 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37642)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。ユーザーが「tf.raw_ops.MatrixDiagPartOp」に有効なパディング値を提供しない場合、コードは NULL ポインターデリファレンスをトリガーするか、入力が空の場合に無効な動作を生成し、最初の値以降のすべての値を無視します。[実装] (https: //github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kerne ls/linalg/matrix_diag_op.cc#L89) は、テンソルが読み取る値を最初にチェックすることなく、テンソルバッファから最初の値を読み取ります。GitHub コミット 482da92095c4d48f8784b1f00dda4f81c28d2988 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37643)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.TensorListReserve」の「num_elements」リスト引数に負の要素を入力すると、「std: : vector」を負の数の要素に再割り当てされ、ランタイムがプロセスを中止します。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/list_kernels.cc#L312) は、この入力が有効であることを確認することなく、ユーザー指定の入力によって制御される新しいサイズで「std: : vector.resize()」を呼び出します。GitHub コミット 8a6e874437670045e6c7dc6154c7412b4a2135e2 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37644)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.QuantizeAndDequantizeV4Grad」の実装は、符号付き整数値を符号なしの値に変換し、この値に基づいてメモリを割り当てることで発生する整数オーバーフローの問題に対して脆弱です。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/quantize_and_dequantize_op.cc#L126) は、「absl: : InlinedVector」コンストラクターへの引数として「axis」を使用します。ただし、このコンストラクターは引数に符号なしの型を使用するため、暗黙的な変換により負の値が大きな整数に変換されます。GitHub コミット 96f364a1ca3009f98980021c4b32be5fdcca33a1 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、および TensorFlow 2.4.3 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37645)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.StringNGrams」の実装は、符号付き整数値を符号なしの値に変換し、この値に基づいてメモリを割り当てることで発生する整数オーバーフローの問題に対して脆弱です。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/string_ngrams_op.cc#L184) は、ユーザーが負の「ngram_widths」を指定した場合に、「tstring」で負の値になる可能性がある値を使用して「reserve」を呼び出します。「reserve」メソッドは、バッファサイズの「unsigned long」引数を持つ「TF_TString_Reserve」を呼び出します。したがって、暗黙的な変換により、負の値が大きな整数に変換されます。GitHub コミット c283e542a3f422420cfdb332414543b62fc4e4a5 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37646)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。ユーザーが有効なスパーステンソルを決定する引数を提供しない場合、null ポインターを逆参照するために「tf.raw_ops.SparseTensorSliceDataset」実装を行うことができます。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L240-L251) にはいくつかの引数の検証がありますが、「indices」または「values」のいずれかが空のスパーステンソルに対して提供され、もう一方が提供されていない場合を考慮しません。「indices」が空の場合、[検証を実行するコード] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L260-L261) (つまり、インデックスが単調増加していることを確認) により、null ポインターデリファレンスが発生します。ユーザーが指定した「indices」が空の場合、上記の C ++コードの「indices」は空の「std: : vector」に支えられているため、「indices->dim_size(0)」を呼び出すと、null ポインターの逆参照が発生します (空のベクトルで「std: : vector : at()」を呼び出すのと同じ)。GitHub コミット 02cc160e29d20631de3859c6653184e3f876b9d7 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37647)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.SaveV2」のコードが入力を適切に検証せず、攻撃者が null ポインターデリファレンスを発生させる可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/save_restore_v2_ops.cc) は「ValidateInputs」を使用して、入力引数が有効であることをチェックします。この検証により、上記のリプロデューサーによって表される不正な状態がキャッチされます。ただし、検証は「OP_REQUIRES」を使用します。これは、現在の「OpKernelContext」の「Status」オブジェクトを変換してエラーステータスに設定するため、空の「return」ステートメントによって存在する関数の実行が終了されます。ただし、これによってカーネルの実行が終了するわけではなく、代わりに、「ValidateInputs」の呼び出し後に「Compute」の次の行から実行が続行されます。これは、検証がないようなものです。GitHub コミット 9728c60e136912a12d99ca56e106b7cce7af5986 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37648)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。「tf.raw_ops.UncompressElement」のコードを作成して、null ポインターデリファレンスを発生させることができます。[実装] (https: //github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernel s/data/experimental/compression_ops.cc#L50-L53) は、「Variant」テンソルと「CompressedElement」へのポインターを取得し、その後、展開のために逆参照します。「Variant」テンソルに「CompressedElement」が含まれているかどうかのチェックがないため、ポインターは実際には「nullptr」です。GitHub コミット 7bdf50bb4f5c54a4997c379092888546c97c3ebd の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37649)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.ExperimentalDatasetToTFRecord」および「tf.raw_ops.DatasetToTFRecord」の実装により、ヒープバッファオーバーフローとセグメンテーション違反がトリガーされる可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/data/experimental/to_tf_record_op.cc#L93-L102) は、データセット内のすべてのレコードが文字列タイプであると想定しています。ただし、そのためのチェックはなく、上記の例では数値タイプを使用しています。GitHub コミット e0b6e58c328059829c3eb968136f17aa72b6c876 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37650)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.FractionalAvgPoolGrad」の実装が騙され、ヒープに割り当てられたバッファの範囲外のデータにアクセスする可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/fractional_avg_pool_op.cc#L205) は、入力テンソルが空でないことを検証しません。したがって、コードは空の「EigenDoubleMatrixMap」を構築し、空の領域外にあるインデックスでこのバッファにアクセスします。GitHub コミット 0f931751fb20f565c4e94aa6df58d54a003cdb30 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37651)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が特別に細工された引数を提供した場合、「tf.raw_ops.BoostedTreesCreateEnsemble」の実装により Use-After-Free (メモリ解放後使用) エラーが発生する可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/boosted_trees/resource_ops.cc#L55) は、参照カウントリソースを使用し、初期化が失敗した場合に refcount を減少させます。
ただし、コードが記述された際にリソースはネイキッドポインターとして表されていましたが、その後のリファクタリングによりスマートポインターに変更されました。したがって、ポインターがスコープを離れると、その後リソースの「解放」が発生しますが、これは refcount がすでに 0 に達し、リソースがすでに解放されていることを考慮していません。この二重解放プロセス中に、リソースオブジェクトのメンバーはクリーンアップのためにアクセスされますが、リソース全体が解放されているため無効です。GitHub コミット 5ecec9c6fbdbc6be03295685190a45e7eee726ab の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。
TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37652)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.ResourceGather」の浮動小数点例外を使用してクラッシュをトリガーする可能性があります。[実装] (https: //github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kerne ls/resource_variable_ops.cc#L725-L731) は、値の値「batch_size」を計算し、この値が 0 ではないことをチェックせずに除算します。GitHub コミット ac117ee8a8ea57b73d34665cdf00ef3303bc0b11 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37653)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者は、「tf.raw_ops.ResourceGather」を使用する TensorFlow のデバッグビルドの「CHECK」失敗、またはリリースビルドで同じ API にヒープ割り当てされたデータの境界外からの読み取りにより、クラッシュをトリガーする可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/resource_variable_ops.cc#L660-L668) は、ユーザーが指定する「batch_dims」値が入力テンソルのランクよりも小さいことをチェックしません。この実装は「tensor」のディメンションにいくつかの for ループを使用するため、これにより、テンソルをサポートするヒープ割り当てバッファの境界外からデータが読み取られます。GitHub コミット bc9c546ce7015c57c2f15c168b3d9201de679a1d の問題にパッチを適用しました。
この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37654)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が無効な引数を「tf.raw_ops.ResourceScatterUpdate」に送信して、ヒープ割り当てデータの境界外から読み取りをトリガーする可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/resource_variable_ops.cc#L919-L923) は、「indices」と「updates」の形状間の関係の検証が不完全です。コードは、「indices」の形状が「updates」の形状のプレフィックスであることをチェックして「ブロードキャスト」が発生するようにする代わりに、これらの 2 つのテンソルの要素の数が可除関係にあることのみをチェックします。GitHub コミット 01cff3f986259d661103412a20745928c727326f の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37655)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.RaggedTensorToSparse」の null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。
[実装] (https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a1ddeb/tensorflow/core/kernels/ragged_tensor_to_sparse_kernel.cc#L30) の分割値の検証が不完全です。それらが昇順であることをチェックしません。GitHub コミット 1071f554dbd09f7e101324d366eec5f4fe5a3ece の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37656)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.MatrixDiagV*」型のすべての操作で null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/linalg/matrix_diag_op.cc) は、「k」の値が有効なテンソルであるという検証が不完全です。この値がスカラーまたはベクトルのいずれかであることはチェックしていますが、要素の数はチェックされていません。これが空のテンソルの場合、テンソルの最初の要素にアクセスするコードが間違っています。GitHub コミット f2a673bd34f0d64b8e40a551ac78989d16daad09 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37657)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.MatrixSetDiagV*」型のすべての操作で null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/linalg/matrix_diag_op.cc) は、「k」の値が有効なテンソルであるという検証が不完全です。この値がスカラーまたはベクトルのいずれかであることはチェックしていますが、要素の数はチェックされていません。これが空のテンソルの場合、テンソルの最初の要素にアクセスするコードが間違っています。GitHub コミット ff8894044dfae5568ecbf2ed514c1a37dc394f1b の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37658)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者がブロードキャストを必要としないすべてのバイナリ cwise 操作 (バイナリ cwise 操作の勾配など) で null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/cwise_ops_common.h#L264) は、2 つの入力の要素の数がまったく同じであることを前提としていますが、チェックは行いません。したがって、固有関数が実行されると、nullptr へのバインドにより、ヒープ OOB 読み取りと未定義の動作がトリガーされます。GitHub コミット 93f428fd1768df147171ed674fee1fc5ab8309ec の問題にパッチを適用しました。
この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37659)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者は細工された引数でインプレース操作を呼び出すことで浮動小数点例外を引き起こし、0 による除算を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/inplace_ops.cc#L283) には論理エラーがあります。「x」と「v」が空の場合、コードは「&&」ではなく「||」を使用するため、処理をスキップする必要があります。GitHub コミット e86605c0a336c088b638da02135ea6f9f6753618 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。
TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37660)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が負の引数を使用することで、「boosted_trees_create_quantile_stream_resource」でサービス拒否を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/boosted_trees/quantile_ops.cc#L96) は、「num_streams」が非負数のみを含むことを検証しません。その後、[これにより、この値を使用してメモリが割り当てられます] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/boosted_trees/quantiles/quantile_stream_resource.h#L31-L40)。ただし、「reserve」は符号なし整数を受け取るため、負の値から大きな正の符号なしに暗黙に変換が行われます。
このため、標準ライブラリからのクラッシュが発生します。GitHub コミット 8a84f7a2b5a2b27ecf88d25bad9ac777cd2f7992 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37661)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「BoostedTreesCalculateBestGainsPerFeature」の nullptr への参照バインディングを使用して未定義の動作を生成する可能性があり、「BoostedTreesCalculateBestFeatureSplitV2」で同様の攻撃が発生する可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/boosted_trees/stats_ops.cc) は、入力値を検証しません。GitHub コミット 9c87c32c710d0b5b53dc6fd3bfde4046e1f7a5ad およびコミット 429f009d2b2c09028647dd4bb7b3f6f414bbaad7 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37662)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.QuantizeV2」の検証が不完全なため、攻撃者が null ポインターに参照をバインドして未定義の動作をトリガーしたり、ヒープに割り当てられた配列の境界外のデータにアクセスしたりする可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/quantize_op.cc#L59) には、いくつかの検証がありますが、「min_range」と「max_range」の両方にゼロ以外の同じ数の要素があることをチェックしません。「axis」が入力される (つまり「-1」ではない) 場合、検証はそれが「input」テンソルのランクの範囲内の値であることをチェックし、「min_range」と「max_range」入力の長さが「input」テンソルの「axis」ディメンションと一致させられます。GitHub コミット 6da6620efad397c85493b8f8667b821403516708 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37663)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者は特別に細工された不正な引数を BoostedTreesSparseCalculateBestFeatureSplit に送信して、ヒープに割り当てられたデータの領域外から読み取る可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/boosted_trees/stats_ops.cc) は、「stats_summary_indices」の各値が範囲内にあることを検証する必要があります。GitHub コミット e84c975313e8e8e38bb2ea118196369c45c51378 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37664)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、再量子化の MKL 実装の検証が不完全なため、攻撃者が null ポインターに参照をバインドして未定義の動作をトリガーしたり、ヒープに割り当てられた配列の境界外のデータにアクセスしたりする可能性があります。
[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantization_range_per_channel_op.cc) は、「入力」テンソルのディメンションを検証しません。同様の問題が「MklRequantizePerChannelOp」で発生します。[実装] (https: //github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mk l/mkl_requantize_per_channel_op.cc) は、すべての入力引数に対して完全な検証を実行しません。GitHub コミット 9e62869465573cb2d9b5053f1fa02a81fce21d69 および Github コミット 203214568f5bc237603dbab6e1fd389f1572f5c9 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37665)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.RaggedTensorToVariant」の null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/ragged_tensor_to_variant_op.cc#L129) の分割値の検証が不完全で、引数が空になる場合のケースがありません。GitHub コミット be7a4de6adfbd303ce08be4332554dff70362612 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37666)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.UnicodeEncode」の null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/unicode_ops.cc#L533-L539) は、このテンソルが空でないことを検証する前に、「input_splits」テンソルの最初のディメンションを読み取ります。GitHub コミット 2e0ee46f1a47675152d3d865797a18358881d7a6 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37667)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が 0 による除算をトリガーして、「tf.raw_ops.UnravelIndex」を使用するモデルにサービスを提供するアプリケーションでサービス拒否を引き起こす可能性があります。[implementation] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/unravel_index_op.cc#L36) は、「dims」に含まれるテンソルが空でないことをチェックしません。したがって、「dims」の 1 つの要素が 0 の場合、実装は 0 による除算を行います。GitHub コミット a776040a5e7ebf76eeb7eb923bf1ae417dd4d233 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37668)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が 0 による除算をトリガーして、「tf.raw_ops.NonMaxSuppressionV5」を使用するモデルにサービスを提供するアプリケーションでサービス拒否を引き起こす可能性があります。[implementation] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/image/non_max_suppression_op.cc#L170-L271) は、ユーザーが制御する引数を使用して「std: : vector」のサイズを変更します。ただし、「std: : vector: : のサイズ変更はサイズ引数を「size_t」として受け取り、「output_size」は「int」です。符号なしへの暗黙の変換が行われます。攻撃者が負の値を提供した場合、この変換によりクラッシュが発生します。「CombinedNonMaxSuppression」でも同様の問題が発生します。GitHub コミット 3a7362750d5c372420aa8f0caf7bf5b5c3d0f52d およびコミット [b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37669)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者は特別に細工された不正な引数を「tf.raw_ops.UpperBound」に送信して、ヒープに割り当てられたデータの領域外から読み取る可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/searchsorted_op.cc#L85-L104) は「sorted_input」引数のランクを検証しません。同様の問題が「tf.raw_ops.LowerBound」でも発生します。GitHub コミット 42459e4273c2e47a3232cc16c4f4fff3b3a35c38 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。
TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37670)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「`tf.raw_ops.Map*」および「tf.raw_ops.OrderedMap*」の null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/map_stage_op.cc#L222-L248) では、「indices」が昇順であることを確認するチェックが行われていますが、「indices」が空でないことはチェックされていません。GitHub コミット 532f5c5a547126c634fefd43bbad1dc6417678ac の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37671)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者は特別に細工された不正な引数を「tf.raw_ops.SdcaOptimizerV2」に送信して、ヒープに割り当てられたデータの領域外から読み取る可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/sdca_internal.cc#L320-L353) は、「example_labels」の長さが例の数と同じであることをチェックしません。GitHub コミット a4e138660270e7599793fa438cd7b2fc2ce215a6 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37672)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.MapStage」の「CHECK」失敗を使用してサービス拒否を引き起こす可能性があります。[実装] (https: //github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/map
_stage_op.cc#L513) は、「key」入力が有効な空でないテンソルであることをチェックしません。GitHub コミット d7de67733925de196ec8863a33445b73f9562d1d の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37673)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が検証の欠如によって引き起こされる「tf.raw_ops.MaxPoolGrad」のセグメンテーション違反を使用してサービス拒否を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/maxpooling_op.cc) は、「orig_input」および「orig_output」テンソルの一部の検証を行いません。CVE-2021-29579 の修正は不完全でした。GitHub コミット 136b51f10903e044308cf77117c0ed9871350475 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37674)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TensorFlow の畳み込み演算子のほとんどの実装は、0 による除算の脆弱性の影響を受けます。この脆弱性により、攻撃者がクラッシュを使用してサービス拒否を引き起こす可能性があります。形状推論 [実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/framework/common_shape_fns.cc#L577) には、除算および剰余演算を行う前のいくつかの検証がありません。GitHub コミット 8a793b5d7f59e37ac7f3cd0954a750a2fe76bad4 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37675)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が「tf.raw_ops.SparseFillEmptyRows」の null ポインターへの参照をバインドして、未定義の動作を引き起こす可能性があります。
形状推定 [実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/ops/sparse_ops.cc#L608-L634) は、入力引数が空のテンソルでないことを検証しません。GitHub コミット 578e634b4f1c1c684d4b4294f9e5281b2133b3ed の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37676)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、「tf.raw_ops.Dequantize」の形状推論コードに脆弱性があるため、攻撃者が無効な引数を入力すると、セグメンテーション違反によるサービス拒否が発生する可能性があります。形状推論 [実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/ops/array_ops.cc#L2999-L3014) は、「axis」を使用して「minmax_rank」の 2 つの異なる値から選択し、テンソルのディメンションを取得するために使用されます。ただし、コードは「axis」が「-1」または「-1」より大きい値のいずれかであり、他の値は検証されないことを想定しています。GitHub コミット da857cfa0fde8f79ad0afdbc94e88b5d4bbec764 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37677)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TensorFlow および Keras が騙されて、YAML 形式から Keras モデルを逆シリアル化する際に、任意のコードを実行する可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/python/keras/saving/model_config.py#L66-L104) は、入力で任意のコードを実行できる「yaml.unsafe_load」を使用します。YAML 形式のサポートには大量の作業が必要であるため、現時点では削除しています。GitHub コミット 23d6383eb6c14084a8fc3bdf164043b974818012 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37678)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、別の「tf.map_fn」呼び出し内で「tf.map_fn」をネストすることが可能です。ただし、入力テンソルが「RaggedTensor」であり、関数シグネチャが入力されない場合、コードは出力が完全に指定されたテンソルであることを想定し、ヒープから初期化されていないコンテンツで出力バッファを満たします。「t」出力と「z」出力は同一である必要がありますが、そうなっていません。「t」の最後の行には、他のメモリ情報を漏洩するために使用できるヒープからのデータが含まれています。バグがあるのは、「Variant」テンソルから「RaggedTensor」への変換です。[実装] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/ragged_tensor_from_variant_op.cc#L177-L190) は、すべての内部形状が一致することをチェックしないため、ディメンションが追加されます。入力テンソルを調整すると、同じ実装のデータが失われる可能性があります。GitHub コミット 4e2565483d0ffcadc719bd44893fb7f609bb5f12 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37679)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の完全に接続されたレイヤーの実装は [ゼロエラーによる除算に対して脆弱] です (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/fully_connected.cc#L226)。GitHub コミット 718721986aa137691ee23f03638867151f74935f の問題にパッチを適用しました。
この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37680)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の SVDF の実装は [null ポインターエラーによる除算に対して脆弱] です (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/svdf.cc#L300-L313)。[`GetVariableInput` 関数] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/kernel_util.cc#L115-L119) は NULL ポインターを返す可能性がありますが、「GetTensorData」は引数が常に有効なテンソルであることを想定します。さらに、「GetVariableInput」が「nullptr」を返す可能性のある [`GetMut ableInput`] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/kernel_util.cc#L82-L90) を呼び出すため、「tensor->is_variable」式も null ポインター例外を発生させる可能性があります。GitHub コミット 5b048e87e4e55990dae6b547add4dae59f4e1c76 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37681)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、量子化を使用するすべての TFLite 操作に、初期化された値を使用できます。[例] (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/depthwise_conv.cc#L198-L200)。この問題が発生するのは、「quantization.params」が有効になるのは「quantization.type」が「kTfLiteNoQuantization」と異なる場合のみであるためです。ただし、これらのチェックはコードのほとんどの部分では行われません。GitHub コミット 537bc7c723439b9194a358f64d871dd326c18887、4a91f2069f7145aab6ba2d8cfe41be8a110c18a5 および 8933b8a21280696ab119b63263babdb54c298538 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37682)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の除算の実装は [0 エラーによる除算に対して脆弱] です (https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/div.cc)。除数テンソルにゼロ要素が含まれていないことのチェックはありません。GitHub コミット 1e206baedf8bef0334cca3eb92bab134ef525a28 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37683)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、除数が 0 でないことのチェックがないため、TFLite でのプールの実装はゼロ除算のエラーに脆弱です。GitHub コミットの問題にパッチを適用しました [dfa22b348b70bb89d6d6ec0ff53973bacb4f4695] (https://github.com/tensorflow/tensorflow/commit/dfa22b348b70bb89d6d6ec0ff53973bacb4f4695)。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37684)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の [`exp and_dims.cc`] (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/expand_dims.cc#L36-L50) に、ヒープに割り当てられたデータの領域外の 1 つの要素を読み取る可能性がある脆弱性があります。「axis」が大きな負の値 (例:「-100000」) である場合、最初の「if」の後も負のままになります。「if」ステートメントに続くチェックはパスし、「for」ループは「input_dims.data」の開始前に 1 つの要素を読み取ります (「i = 0」の場合)。GitHub コミット d94ffe08a65400f898241c0374e9edc6fa8ed257 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37685)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の strided スライス実装に論理バグがあるため、攻撃者が無限ループを発生させる可能性があります。
これは、新しく導入された [軸定義の省略] のサポートのために生じます (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/strided_slice.cc#L103-L122)。攻撃者は、「ellipsis_end_idx」が「i」よりも小さくなるように (たとえば、常に負) モデルを細工する可能性があります。この場合、内側のループは「i」を増加させず、「continue」ステートメントは実行を外側のループの終了時に事前インクリメントにスキップさせます。GitHub コミット dfa22b348b70bb89d6d6ec0ff53973bacb4f4695 の問題にパッチを適用しました。TensorFlow 2.6.0 のみが影響を受けるバージョンです。
(CVE-2021-37686)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、TFLite の [`GatherNd` 実装] (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/gather_nd.cc#L124) は負のインデックスをサポートしていませんが、この状況に対するチェックはありません。したがって、攻撃者は「indices」に負の値を含むモデルを慎重に作成して、ヒープから任意のデータを読み取る可能性があります。[`Gather` 実装] (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/gather.cc) にも同様の問題が存在します。GitHub コミット bb6a0383ed553c286f87ca88c207f6774d5c4a8f および eb921122119a6b6e470ee98b89e65d721663179d の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37687)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が TFLite モデルを細工して、null ポインターのデリファレンスを発生させ、クラッシュやサービス拒否を引き起こす可能性があります。[実装] (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/internal/optimized/optimized_ops.h#L268-L285) は、無条件にポインターを逆参照します。GitHub コミット 15691e456c7dc9bd6be203b09765b063bf4a380c の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37688)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が TFLite モデルを細工して、null ポインターのデリファレンスを発生させ、クラッシュやサービス拒否を引き起こす可能性があります。これは、「L2NormalizeReduceAxis」演算子の MLIR 最適化が原因です。[実装] (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/compiler/mlir/lite/transforms/optimize.cc#L67-L70) は、ベクトルに要素があることをチェックせずに、無条件にベクトルへのイテレータへのポインターを逆参照します。GitHub コミット d6b57f461b39fd1aa8c1b870f1b974aac3554955 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37689)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、形状関数を実行するときに、一部の関数 (「MutableHashTableShape」など) が「ShapeAndType」構造体の形式で追加の出力情報を生成します。この構造体に埋め込まれた形状は、ほぼ即座にクリーンアップされる推論コンテキストによって所有されます。アップストリームコードがこの形状情報にアクセスしようとすると、セグメンテーション違反が発生する可能性があります。「ShapeRefiner」は、通常の出力形状を複製して (したがって、新しく作成された形状を無効になることのない推論コンテキストの所有権下に置くことによって) これを緩和しますが、形状と型に対しては同じことを行っていませんでした。このコミットでは、出力の形状と型で同様のロジックを実行することで、これを修正しています。GitHub コミット ee119d4a498979525046fba1c3dd3f13a039fbb1 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。(CVE-2021-37690)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。影響を受けるバージョンでは、攻撃者が LSH [実装] でゼロ除算エラーをトリガーする TFLite モデルを作成する可能性があります (https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/lsh_projection.cc#L118)。GitHub コミット 0575b640091680cfb70f4dd93e70658de43b94f9 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。TensorFlow 2.5.1、TensorFlow 2.4.3、および TensorFlow 2.3.4 でもこのコミットを選択します。これらも影響を受けており、サポート対象になっています。
(CVE-2021-37691)

- TensorFlow は、機械学習用のエンドツーエンドのオープンソースプラットフォームです。特定の状況で影響を受けるバージョンで、Go コードが文字列の割り当て解除でセグメンテーション違反を発生させる可能性があります。文字列テンソルの場合、ファイナライザー関数内のガベージコレクション中に「C.TF_TString_Dealloc」が呼び出されます。ただし、パフォーマンスのペナルティを回避するためにエンコードするまで、テンソル構造はチェックされません。dealloc の現在の方法は、エンコーディングが成功したことを前提としていますが、文字列テンソルがエンコーディングが失敗したガベージ (例: ディメンションの不一致) としてコレクトされると、セグメンテーション違反が発生します。これを修正するために、ファイナライザー関数を設定する呼び出しは「NewTensor」が返るまで延期され、文字列テンソルのエンコーディングが失敗した場合、書き込まれたバイトに基づいて deallocs が決定されます。GitHub コミット 8721ba96e5760c229217b594f6d2ba332beedf22 の問題にパッチを適用しました。この修正は TensorFlow 2.6.0 に含まれています。影響を受ける他のバージョンである TensorFlow 2.5.1 でもこのコミットを選択します。(CVE-2021-37692)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションの自己報告されたバージョン番号にのみ依存しています。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

https://bugzilla.suse.com/1173128

https://bugzilla.suse.com/1173314

https://bugzilla.suse.com/1178287

https://bugzilla.suse.com/1178564

https://bugzilla.suse.com/1179455

https://bugzilla.suse.com/1181864

https://bugzilla.suse.com/1186860

https://bugzilla.suse.com/1189423

http://www.nessus.org/u?a4d9e5f4

https://www.suse.com/security/cve/CVE-2020-26266

https://www.suse.com/security/cve/CVE-2020-26267

https://www.suse.com/security/cve/CVE-2020-26268

https://www.suse.com/security/cve/CVE-2020-26270

https://www.suse.com/security/cve/CVE-2020-26271

https://www.suse.com/security/cve/CVE-2021-37635

https://www.suse.com/security/cve/CVE-2021-37636

https://www.suse.com/security/cve/CVE-2021-37637

https://www.suse.com/security/cve/CVE-2021-37638

https://www.suse.com/security/cve/CVE-2021-37639

https://www.suse.com/security/cve/CVE-2021-37640

https://www.suse.com/security/cve/CVE-2021-37641

https://www.suse.com/security/cve/CVE-2021-37642

https://www.suse.com/security/cve/CVE-2021-37643

https://www.suse.com/security/cve/CVE-2021-37644

https://www.suse.com/security/cve/CVE-2021-37645

https://www.suse.com/security/cve/CVE-2021-37646

https://www.suse.com/security/cve/CVE-2021-37647

https://www.suse.com/security/cve/CVE-2021-37648

https://www.suse.com/security/cve/CVE-2021-37649

https://www.suse.com/security/cve/CVE-2021-37650

https://www.suse.com/security/cve/CVE-2021-37651

https://www.suse.com/security/cve/CVE-2021-37652

https://www.suse.com/security/cve/CVE-2021-37653

https://www.suse.com/security/cve/CVE-2021-37654

https://www.suse.com/security/cve/CVE-2021-37655

https://www.suse.com/security/cve/CVE-2021-37656

https://www.suse.com/security/cve/CVE-2021-37657

https://www.suse.com/security/cve/CVE-2021-37658

https://www.suse.com/security/cve/CVE-2021-37659

https://www.suse.com/security/cve/CVE-2021-37660

https://www.suse.com/security/cve/CVE-2021-37661

https://www.suse.com/security/cve/CVE-2021-37662

https://www.suse.com/security/cve/CVE-2021-37663

https://www.suse.com/security/cve/CVE-2021-37664

https://www.suse.com/security/cve/CVE-2021-37665

https://www.suse.com/security/cve/CVE-2021-37666

https://www.suse.com/security/cve/CVE-2021-37667

https://www.suse.com/security/cve/CVE-2021-37668

https://www.suse.com/security/cve/CVE-2021-37669

https://www.suse.com/security/cve/CVE-2021-37670

https://www.suse.com/security/cve/CVE-2021-37671

https://www.suse.com/security/cve/CVE-2021-37672

https://www.suse.com/security/cve/CVE-2021-37673

https://www.suse.com/security/cve/CVE-2021-37674

https://www.suse.com/security/cve/CVE-2021-37675

https://www.suse.com/security/cve/CVE-2021-37676

https://www.suse.com/security/cve/CVE-2021-37677

https://www.suse.com/security/cve/CVE-2021-37678

https://www.suse.com/security/cve/CVE-2021-37679

https://www.suse.com/security/cve/CVE-2021-37680

https://www.suse.com/security/cve/CVE-2021-37681

https://www.suse.com/security/cve/CVE-2021-37682

https://www.suse.com/security/cve/CVE-2021-37683

https://www.suse.com/security/cve/CVE-2021-37684

https://www.suse.com/security/cve/CVE-2021-37685

https://www.suse.com/security/cve/CVE-2021-37686

https://www.suse.com/security/cve/CVE-2021-37687

https://www.suse.com/security/cve/CVE-2021-37688

https://www.suse.com/security/cve/CVE-2021-37689

https://www.suse.com/security/cve/CVE-2021-37690

https://www.suse.com/security/cve/CVE-2021-37691

https://www.suse.com/security/cve/CVE-2021-37692

プラグインの詳細

深刻度: High

ID: 162400

ファイル名: openSUSE-2022-10014-1.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

公開日: 2022/6/19

更新日: 2023/10/19

サポートされているセンサー: Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

基本値: 4.6

現状値: 3.6

ベクトル: CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2021-37690

CVSS v3

リスクファクター: High

基本値: 8.8

現状値: 7.9

ベクトル: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C

CVSS スコアのソース: CVE-2021-37678

脆弱性情報

CPE: p-cpe:/a:novell:opensuse:bazel-skylib1.0.3-source, p-cpe:/a:novell:opensuse:libtensorflow_framework2-gnu-openmpi2-hpc, p-cpe:/a:novell:opensuse:tensorflow2-lite-devel, p-cpe:/a:novell:opensuse:tensorflow2_2_6_0-gnu-openmpi2-hpc, p-cpe:/a:novell:opensuse:libiomp5, p-cpe:/a:novell:opensuse:tensorflow2, p-cpe:/a:novell:opensuse:tensorflow2-lite, p-cpe:/a:novell:opensuse:libtensorflow_cc2, p-cpe:/a:novell:opensuse:tensorflow2-gnu-openmpi2-hpc, p-cpe:/a:novell:opensuse:tensorflow2_2_6_0-gnu-hpc, p-cpe:/a:novell:opensuse:bazel3.7, p-cpe:/a:novell:opensuse:libtensorflow2, p-cpe:/a:novell:opensuse:libtensorflow_framework2-gnu-hpc, p-cpe:/a:novell:opensuse:libiomp5-gnu-hpc, p-cpe:/a:novell:opensuse:tensorflow2-gnu-hpc, p-cpe:/a:novell:opensuse:tensorflow2_2_6_0-gnu-openmpi2-hpc-devel, p-cpe:/a:novell:opensuse:libiomp5-gnu-openmpi2-hpc, p-cpe:/a:novell:opensuse:libtensorflow2-gnu-hpc, p-cpe:/a:novell:opensuse:libtensorflow_cc2-gnu-openmpi2-hpc, cpe:/o:novell:opensuse:15.3, p-cpe:/a:novell:opensuse:libtensorflow2-gnu-openmpi2-hpc, p-cpe:/a:novell:opensuse:libtensorflow_cc2-gnu-hpc, p-cpe:/a:novell:opensuse:libtensorflow_framework2, p-cpe:/a:novell:opensuse:tensorflow2-devel, p-cpe:/a:novell:opensuse:tensorflow2_2_6_0-gnu-hpc-devel

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2022/6/18

脆弱性公開日: 2020/12/10

参照情報

CVE: CVE-2020-26266, CVE-2020-26267, CVE-2020-26268, CVE-2020-26270, CVE-2020-26271, CVE-2021-37635, CVE-2021-37636, CVE-2021-37637, CVE-2021-37638, CVE-2021-37639, CVE-2021-37640, CVE-2021-37641, CVE-2021-37642, CVE-2021-37643, CVE-2021-37644, CVE-2021-37645, CVE-2021-37646, CVE-2021-37647, CVE-2021-37648, CVE-2021-37649, CVE-2021-37650, CVE-2021-37651, CVE-2021-37652, CVE-2021-37653, CVE-2021-37654, CVE-2021-37655, CVE-2021-37656, CVE-2021-37657, CVE-2021-37658, CVE-2021-37659, CVE-2021-37660, CVE-2021-37661, CVE-2021-37662, CVE-2021-37663, CVE-2021-37664, CVE-2021-37665, CVE-2021-37666, CVE-2021-37667, CVE-2021-37668, CVE-2021-37669, CVE-2021-37670, CVE-2021-37671, CVE-2021-37672, CVE-2021-37673, CVE-2021-37674, CVE-2021-37675, CVE-2021-37676, CVE-2021-37677, CVE-2021-37678, CVE-2021-37679, CVE-2021-37680, CVE-2021-37681, CVE-2021-37682, CVE-2021-37683, CVE-2021-37684, CVE-2021-37685, CVE-2021-37686, CVE-2021-37687, CVE-2021-37688, CVE-2021-37689, CVE-2021-37690, CVE-2021-37691, CVE-2021-37692