VYPR
Moderate severityNVD Advisory· Published Nov 5, 2021· Updated Aug 4, 2024

Heap OOB read in `SparseBinCount`

CVE-2021-41226

Description

TensorFlow is an open source platform for machine learning. In affected versions the implementation of SparseBinCount is vulnerable to a heap OOB access. This is because of missing validation between the elements of the values argument and the shape of the sparse output. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
tensorflowPyPI
>= 2.6.0, < 2.6.12.6.1
tensorflowPyPI
>= 2.5.0, < 2.5.22.5.2
tensorflowPyPI
< 2.4.42.4.4
tensorflow-cpuPyPI
>= 2.6.0, < 2.6.12.6.1
tensorflow-cpuPyPI
>= 2.5.0, < 2.5.22.5.2
tensorflow-cpuPyPI
< 2.4.42.4.4
tensorflow-gpuPyPI
>= 2.6.0, < 2.6.12.6.1
tensorflow-gpuPyPI
>= 2.5.0, < 2.5.22.5.2
tensorflow-gpuPyPI
< 2.4.42.4.4

Affected products

1

Patches

1
f410212e373e

Prevent out-of-bound accesses in SparseBincount.

https://github.com/tensorflow/tensorflowPenporn KoanantakoolSep 30, 2021via ghsa
1 file changed · +10 0
  • tensorflow/core/kernels/bincount_op.cc+10 0 modified
    @@ -405,6 +405,16 @@ class SparseBincountOp : public OpKernel {
           for (int64_t i = 0; i < indices_mat.dimension(0); ++i) {
             const int64_t batch = indices_mat(i, 0);
             const Tidx bin = values(i);
    +        OP_REQUIRES(
    +            ctx, batch < out.dimension(0),
    +            errors::InvalidArgument("Index out of bound. `batch` (", batch,
    +                                    ") must be less than the dimension size (",
    +                                    out.dimension(0), ")."));
    +        OP_REQUIRES(
    +            ctx, bin < out.dimension(1),
    +            errors::InvalidArgument("Index out ouf bound. `bin` (", bin,
    +                                    ") must be less then the dimension size (",
    +                                    out.dimension(1), ")."));
             if (bin < size) {
               if (binary_output_) {
                 out(batch, bin) = T(1);
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

7

News mentions

0

No linked articles in our index yet.