<?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-02T12:45:12.913281+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-100845</id>
    <title>CVE-2026-100845 — MONAI before 1.6.0 Remote Code Execution via NumpyReader</title>
    <updated>2026-10-02T12:45:12.915388+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.6.0 contains an unsafe deserialization vulnerability in the NumpyReader class that unconditionally uses numpy.load with allow_pickle=True when loading .npy and .npz files. Attackers can craft malicious .npy files with pickle payloads that execute arbitrary code when loaded through MONAI's standard data pipeline.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-100845"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-wg9g-w2j2-8pgr</id>
    <title>GHSA-wg9g-w2j2-8pgr — MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files</title>
    <updated>2026-10-02T12:45:12.915485+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: monai</p>
<p>### Summary</p>
<p>The `NumpyReader` class in `monai/data/image_reader.py` unconditionally uses `np.load(name, allow_pickle=True)` (line 1276), enabling arbitrary code execution when loading a crafted `.npy` or `.npz` file. This affects all MONAI versions up to and including the latest commit (5b71547). The `allow_pickle` parameter is hardcoded to `True` and cannot be overridden by the user (the docstring explicitly states kwargs are accepted "except `allow_pickle`").</p>
<p>### Details</p>
<p>**Vulnerable code** ([permalink](https://github.com/Project-MONAI/MONAI/blob/5b71547/monai/data/image_reader.py#L1276)):</p>
<p>```python
# monai/data/image_reader.py, line 1276, in NumpyReader.read()
img = np.load(name, allow_pickle=True, **kwargs_)
```</p>
<p>The `NumpyReader` is automatically selected by MONAI's `LoadImage` transform for any file with `.npy` or `.npz` extension (see `monai/transforms/io/array.py` line 68: `"numpyreader": NumpyReader`). This means the entire standard data pipeline (LoadImage, PersistentDataset, CacheDataset, SmartCacheDataset, etc.) is vulnerable.</p>
<p>The `allow_pickle=True` parameter enables Python's pickle protocol during numpy loading. Pickle is known to be unsafe for untrusted data, as it can execute arbitrary code during deserialization via the `__reduce__` method.</p>
<p>**Compare with safe practices in the same project:**</p>
<p>The MONAI project has already addressed similar deserialization issues in other code paths:
- `torch.load` calls now use `weights_only=True` (after GHSA-6vm5-6jv…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-wg9g-w2j2-8pgr"/>
  </entry>
</feed>
