Executive brief
TensorFlow's ResizeNearestNeighborGrad operation, a function used for image processing and gradient computation in machine learning, can crash when given extremely large input size parameters. An attacker with the ability to provide inputs to this function could cause a denial of service, disrupting machine learning inference or training pipelines that rely on it.
Technical details
The vulnerability is an integer overflow in TensorFlow's tf.raw_ops.ResizeNearestNeighborGrad function when processing large size input values. The vulnerable code is in the resize_nearest_neighbor_op.cc kernel implementation. An attacker who can call this raw operation (typically requires local or network access to a TensorFlow service) can supply specially crafted large integer size parameters that trigger the overflow and cause an application crash (denial of service). Patches were released in TensorFlow versions 2.8.4, 2.9.3, 2.10.1, and 2.11.0. All earlier versions are affected.
Affected products
- Google TensorFlow versions before 2.8.4; 2.9.0–2.9.2; 2.10.0
- Google TensorFlow CPU versions before 2.8.4; 2.9.0–2.9.2; 2.10.0
- Google TensorFlow GPU versions before 2.8.4; 2.9.0–2.9.2; 2.10.0
Timeline
- 2022-11-18: disclosed: Published on NVD
- 2022-11-21: disclosed: Published on GitHub Security Advisory
- 2022-11-21: patched: Patches released in TensorFlow 2.8.4, 2.9.3, 2.10.1, and 2.11.0