<?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>Wed, 21 Oct 2026 07:43:51 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-29612 — Heap buffer overflow in `BandedTriangularSolve`</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2021-29612</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. An attacker can trigger a heap buffer overflow in Eigen implementation of `tf.raw_ops.BandedTriangularSolve`. The implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L269-L278) calls `ValidateInputTensors` for input validation but fails to validate that the two tensors are not empty. Furthermore, since `OP_REQUIRES` macro only stops execution of current function after setting `ctx-&amp;gt;status()` to a non-OK value, callers of helper functions that use `OP_REQUIRES` must check value of `ctx-&amp;gt;status()` before continuing. This doesn&amp;#39;t happen in this op&amp;#39;s implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L219), hence the validation that is present is also not effective. 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. An attacker can trigger a heap buffer overflow in Eigen implementation of `tf.raw_ops.BandedTriangularSolve`. The implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L269-L278) calls `ValidateInputTensors` for input validation but fails to validate that the two tensors are not empty. Furthermore, since `OP_REQUIRES` macro only stops execution of current function after setting `ctx-&amp;gt;status()` to a non-OK value, callers of helper functions that use `OP_REQUIRES` must check value of `ctx-&amp;gt;status()` before continuing. This doesn&amp;#39;t happen in this op&amp;#39;s implementation(https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L219), hence the validation that is present is also not effective. 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-29612</guid>
    </item>
    <item>
      <title>GHSA-2xgj-xhgf-ggjv — Heap buffer overflow in `BandedTriangularSolve`</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-2xgj-xhgf-ggjv</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
An attacker can trigger a heap buffer overflow in Eigen implementation of `tf.raw_ops.BandedTriangularSolve`:&lt;/p&gt;
&lt;p&gt;```python
import tensorflow as tf
import numpy as np
  
matrix_array = np.array([])
matrix_tensor = tf.convert_to_tensor(np.reshape(matrix_array,(0,1)),dtype=tf.float32)
rhs_array = np.array([1,1])
rhs_tensor = tf.convert_to_tensor(np.reshape(rhs_array,(1,2)),dtype=tf.float32)
tf.raw_ops.BandedTriangularSolve(matrix=matrix_tensor,rhs=rhs_tensor)
```&lt;/p&gt;
&lt;p&gt;The [implementation](https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L269-L278) calls `ValidateInputTensors` for input validation but fails to validate that the two tensors are not empty:
  
```cc
void ValidateInputTensors(OpKernelContext* ctx, const Tensor&amp;amp; in0, const Tensor&amp;amp; in1) {
  OP_REQUIRES(
      ctx, in0.dims() &amp;gt;= 2, 
      errors::InvalidArgument(&amp;#34;In[0] ndims must be &amp;gt;= 2: &amp;#34;, in0.dims()));&lt;/p&gt;
&lt;p&gt;OP_REQUIRES(
      ctx, in1.dims() &amp;gt;= 2,
      errors::InvalidArgument(&amp;#34;In[1] ndims must be &amp;gt;= 2: &amp;#34;, in1.dims()));
}
```&lt;/p&gt;
&lt;p&gt;Furthermore, since `OP_REQUIRES` macro only stops execution of current function after setting `ctx-&amp;gt;status()` to a non-OK value, callers of helper functions that use `OP_REQUIRES` must check value of `ctx-&amp;gt;status()` before continuing. This doesn&amp;#39;t happen [in this op&amp;#39;s implementation](https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels…&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
An attacker can trigger a heap buffer overflow in Eigen implementation of `tf.raw_ops.BandedTriangularSolve`:&lt;/p&gt;
&lt;p&gt;```python
import tensorflow as tf
import numpy as np
  
matrix_array = np.array([])
matrix_tensor = tf.convert_to_tensor(np.reshape(matrix_array,(0,1)),dtype=tf.float32)
rhs_array = np.array([1,1])
rhs_tensor = tf.convert_to_tensor(np.reshape(rhs_array,(1,2)),dtype=tf.float32)
tf.raw_ops.BandedTriangularSolve(matrix=matrix_tensor,rhs=rhs_tensor)
```&lt;/p&gt;
&lt;p&gt;The [implementation](https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels/linalg/banded_triangular_solve_op.cc#L269-L278) calls `ValidateInputTensors` for input validation but fails to validate that the two tensors are not empty:
  
```cc
void ValidateInputTensors(OpKernelContext* ctx, const Tensor&amp;amp; in0, const Tensor&amp;amp; in1) {
  OP_REQUIRES(
      ctx, in0.dims() &amp;gt;= 2, 
      errors::InvalidArgument(&amp;#34;In[0] ndims must be &amp;gt;= 2: &amp;#34;, in0.dims()));&lt;/p&gt;
&lt;p&gt;OP_REQUIRES(
      ctx, in1.dims() &amp;gt;= 2,
      errors::InvalidArgument(&amp;#34;In[1] ndims must be &amp;gt;= 2: &amp;#34;, in1.dims()));
}
```&lt;/p&gt;
&lt;p&gt;Furthermore, since `OP_REQUIRES` macro only stops execution of current function after setting `ctx-&amp;gt;status()` to a non-OK value, callers of helper functions that use `OP_REQUIRES` must check value of `ctx-&amp;gt;status()` before continuing. This doesn&amp;#39;t happen [in this op&amp;#39;s implementation](https://github.com/tensorflow/tensorflow/blob/eccb7ec454e6617738554a255d77f08e60ee0808/tensorflow/core/kernels…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-2xgj-xhgf-ggjv</guid>
    </item>
  </channel>
</rss>
