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

Segfault while copying constant resource tensor

CVE-2021-41204

Description

TensorFlow is an open source platform for machine learning. In affected versions during TensorFlow's Grappler optimizer phase, constant folding might attempt to deep copy a resource tensor. This results in a segfault, as these tensors are supposed to not change. 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
7731e8dfbe4a

Don't constant-fold DT_RESOURCE constants.

https://github.com/tensorflow/tensorflowA. Unique TensorFlowerAug 19, 2021via ghsa
1 file changed · +3 1
  • tensorflow/core/common_runtime/constant_folding.cc+3 1 modified
    @@ -30,6 +30,7 @@ limitations under the License.
     #include "tensorflow/core/framework/log_memory.h"
     #include "tensorflow/core/framework/op_kernel.h"
     #include "tensorflow/core/framework/types.h"
    +#include "tensorflow/core/framework/types.pb.h"
     #include "tensorflow/core/graph/algorithm.h"
     #include "tensorflow/core/graph/node_builder.h"
     #include "tensorflow/core/graph/subgraph.h"
    @@ -223,7 +224,8 @@ bool IsConstantFoldable(
         std::unordered_map<const Node*, std::vector<Tensor>>*
             shape_replacement_map) {
       if (n->IsConstant()) {
    -    return true;
    +    // Skip constant folding resources as they cannot be deep copied.
    +    return n->output_type(0) != DT_RESOURCE;
       }
       if (MaybeReplaceShapeOp(n, shape_map, shape_replacement_map)) {
         return true;
    

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.