First published: Fri Sep 25 2020(Updated: )
### Impact The `SparseCountSparseOutput` implementation does not validate that the input arguments form a valid sparse tensor. In particular, there is no validation that the `indices` tensor has the same shape as the `values` one. The values in these tensors are always accessed in parallel: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/count_ops.cc#L193-L195 Thus, a shape mismatch can result in accesses outside the bounds of heap allocated buffers. ### Patches We have patched the issue in 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and will release a patch release. We recommend users to upgrade to TensorFlow 2.3.1. ### For more information Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions. ### Attribution This vulnerability is a variant of [GHSA-p5f8-gfw5-33w4](https://github.com/tensorflow/tensorflow/security/advisories/GHSA-p5f8-gfw5-33w4)
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
Google TensorFlow | >=2.3.0<2.3.1 | |
pip/tensorflow-gpu | =2.3.0 | 2.3.1 |
pip/tensorflow-cpu | =2.3.0 | 2.3.1 |
pip/tensorflow | =2.3.0 | 2.3.1 |
>=2.3.0<2.3.1 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2020-15198 has a medium severity rating due to the risk of unexpected behavior in TensorFlow implementations.
To fix CVE-2020-15198, update TensorFlow to version 2.3.1 or later.
CVE-2020-15198 affects TensorFlow versions 2.3.0 and below.
The main issue with CVE-2020-15198 is the lack of validation for the shape of input tensors during sparse tensor operations.
While there are alternatives to TensorFlow, the best approach is to update TensorFlow to mitigate CVE-2020-15198.