
Cloud Vulnerability DB
A community-led vulnerabilities database
TensorFlow's tf.raw_ops.Conv3DBackprop* operations contained a vulnerability (CVE-2021-29522) where they failed to validate that input tensors are not empty, potentially resulting in a division by zero error. The vulnerability was discovered in May 2021 and affected TensorFlow versions prior to 2.5.0 (GitHub Advisory).
The vulnerability exists in the implementation where the code does not check that the divisor used in computing the shard size is not zero. The issue occurs in the calculation of shard_size where work_unit_size could be zero: const size_t shard_size = use_parallel_contraction ? 1 : (target_working_set_size + work_unit_size - 1) / work_unit_size. An attacker could trigger this by providing empty input tensors to the Conv3DBackprop operations (GitHub Advisory).
If successfully exploited, an attacker who controls the input sizes could trigger a denial of service via a division by zero error. This could affect the availability of systems using the vulnerable TensorFlow versions (GitHub Advisory).
The vulnerability can be exploited by crafting specific input tensors with empty shapes. Example exploit code involves using tf.raw_ops.Conv3DBackpropInputV2 or tf.raw_ops.Conv3DBackpropFilterV2 with specifically crafted empty tensors (GitHub Advisory).
The issue was patched in TensorFlow 2.5.0. The fix was also backported to TensorFlow versions 2.4.2, 2.3.3, 2.2.3, and 2.1.4. Users should upgrade to these patched versions. The fix involves adding validation checks for empty tensors, as implemented in commit 311403edbc9816df80274bd1ea8b3c0c0f22c3fa (GitHub Advisory).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."