Vulnerability · Published Feb 3, 2022 · Assigned by GitHub_M
CVE-2022-21733Memory exhaustion in Tensorflow
Medium 4.3
In plain English
A medium-severity integer overflow in the tensorflow package (PyPI). Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 58% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Tensorflow is an Open Source Machine Learning Framework. The implementation of `StringNGrams` can be used to trigger a denial of service attack by causing an out of memory condition after an integer overflow. We are missing a validation on `pad_witdh` and that result in computing a negative value for `ngram_width` which is later used to allocate parts of the output. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | tensorflow | 2.5.3 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow | 2.6.3 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow | 2.7.1 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow | 2.5.3, 2.6.3, 2.7.1 | PYSEC-2026-3145 |
| PyPI | tensorflow-cpu | 2.6.3 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow-cpu | 2.7.1 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow-cpu | 2.5.3, 2.6.3 | PYSEC-2022-57 |
| PyPI | tensorflow-cpu | 2.5.3 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow-gpu | 2.7.1 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow-gpu | 2.5.3, 2.6.3 | PYSEC-2022-112 |
| PyPI | tensorflow-gpu | 2.5.3 | GHSA-98j8-c9q4-r38g |
| PyPI | tensorflow-gpu | 2.6.3 | GHSA-98j8-c9q4-r38g |
Affected products (as reported)
Weakness: CWE-190 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-98j8-c9q4-r38g x_refsource_CONFIRM
- https://github.com/tensorflow/tensorflow/commit/f68fdab93fb7f4ddb4eb438c8fe052753c9413e8 x_refsource_MISC
- https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/string_ngrams_op.cc#L29-L161 x_refsource_MISC