CVE-2021-37669
Last modified
CVE-2021-37669 is a medium-severity vulnerability rated 5.5/10 on the CVSS scale. TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause denial of service in applications serving models using `tf.raw_ops.NonMaxSuppressionV5` by triggering a division by 0. EPSS estimates a 0.18% chance of exploitation in the next 30 days.
Description
TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause denial of service in applications serving models using `tf.raw_ops.NonMaxSuppressionV5` by triggering a division by 0. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/image/non_max_suppression_op.cc#L170-L271) uses a user controlled argument to resize a `std::vector`. However, as `std::vector::resize` takes the size argument as a `size_t` and `output_size` is an `int`, there is an implicit conversion to unsigned. If the attacker supplies a negative value, this conversion results in a crash. A similar issue occurs in `CombinedNonMaxSuppression`. We have patched the issue in GitHub commit 3a7362750d5c372420aa8f0caf7bf5b5c3d0f52d and commit [b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions | Update |
|---|---|---|---|
| Tensorflow | >= 2.3.0, < 2.3.4 | — | |
| Tensorflow | >= 2.4.0, < 2.4.3 | — | |
| Tensorflow | 2.5.0 | — | |
| Tensorflow | 2.6.0 | Rc0 |
References
- https://github.com/tensorflow/tensorflow/commit/3a7362750d5c372420aa8f0caf7bf5b5c3d0f52dPatch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/commit/b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-vmjw-c2vp-p33cThird Party Advisory
- https://github.com/tensorflow/tensorflow/commit/3a7362750d5c372420aa8f0caf7bf5b5c3d0f52dPatch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/commit/b5cdbf12ffcaaffecf98f22a6be5a64bb96e4f58Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-vmjw-c2vp-p33cThird Party Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2021-37669?
How severe is CVE-2021-37669?
How do I fix CVE-2021-37669?
Are you affected by CVE-2021-37669?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
