PT-2026-59810 · Pypi · Tensorflow

Published

2026-07-09

·

Updated

2026-07-09

CVSS v3.1

5.9

Medium

VectorAV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Impact

The [simplifyBroadcast function in the MLIR-TFRT infrastructure in TensorFlow](https://github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/compiler/mlir/tfrt/jit/transforms/tf cpurt symbolic shape optimization.cc#L149-L205) is vulnerable to a segfault (hence, denial of service), if called with scalar shapes.
cc
 size t maxRank = 0;
 for (auto shape : llvm::enumerate(shapes)) {
  auto found shape = analysis.dimensionsForShapeTensor(shape.value());
  if (!found shape) return {};
  shapes found.push back(*found shape);
  maxRank = std::max(maxRank, found shape->size());
 }  

 SmallVector<const ShapeComponentAnalysis::SymbolicDimension*>
   joined dimensions(maxRank);
If all shapes are scalar, then maxRank is 0, so we build an empty SmallVector.

Patches

We have patched the issue in GitHub commit 35f0fabb4c178253a964d7aabdbb15c6a398b69a.
The fix will be included in TensorFlow 2.8.0. This is the only affected version.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

PYSEC-2026-3193

Affected Products

Tensorflow