CVEvulnerability
CVE-2021-29516
5.5 MEDIUM
Official page ↗
- Status
- Modified
- Published
- 2021-05-14
- Last modified
- 2026-06-17
- Assigner
- [email protected]
- CVSS 3.1 ([email protected])
- 2.5 LOW — CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
- CVSS 3.1 ([email protected])
- 5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS 2.0 ([email protected])
- 2.1 LOW — AV:L/AC:L/Au:N/C:N/I:N/A:P
- Weaknesses
- CWE-476
Description
TensorFlow is an end-to-end open source platform for machine learning. Calling `tf.raw_ops.RaggedTensorToVariant` with arguments specifying an invalid ragged tensor results in a null pointer dereference. The implementation of `RaggedTensorToVariant` operations(https://github.com/tensorflow/tensorflow/blob/904b3926ed1c6c70380d5313d282d248a776baa1/tensorflow/core/kernels/ragged_tensor_to_variant_op.cc#L39-L40) does not validate that the ragged tensor argument is non-empty. Since `batched_ragged` contains no elements, `batched_ragged.splits` is a null vector, thus `batched_ragged.splits(0)` will result in dereferencing `nullptr`. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
Affected configurations
• google tensorflow (< 2.1.4)
• google tensorflow (>= 2.2.0 < 2.2.3)
• google tensorflow (>= 2.3.0 < 2.3.3)
• google tensorflow (>= 2.4.0 < 2.4.2)
Related
Weakness · CWE (1)
- CWE-476 NULL Pointer Dereference weakness
References
- https://github.com/tensorflow/tensorflow/commit/b055b9c474cd376259dde8779908f9eeaf097d93 Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-84mw-34w6-2q43 Exploit, Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/commit/b055b9c474cd376259dde8779908f9eeaf097d93 Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-84mw-34w6-2q43 Exploit, Patch, Third Party Advisory