Description
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.
Published: 2026-09-27
Score: 8.5 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

MONAI before 1.6.0 contains an unsafe deserialization flaw in the NumpyReader class that automatically loads *.npy and *.npz files with numpy.load using allow_pickle=True. Because attackers can craft malicious files containing pickle payloads, loading such files through MONAI's standard data pipeline can trigger arbitrary code execution. The vulnerability is a classic example of deserialization of untrusted data (CWE-502) and poses a severe threat to confidentiality, integrity, and availability of any system that processes external .npy or .npz files with MONAI.

Affected Systems

The affected product is Project-MONAI MONAI, version 1.6.0 or earlier. Any deployment that relies on MONAI's NumpyReader for loading data files is at risk. No specific sub-versions are listed beyond the stated range, so the default assumption is that all releases prior to 1.6.0 contain the flaw.

Risk and Exploitability

The CVSS base score of 8.5 indicates high severity, and while an EPSS score is not available, the absence of an exploitation probability does not diminish its potential impact. The vulnerability is not listed in the CISA KEV catalog yet, but the remote code execution potential makes it amenable to exploitation given a file supply channel. The likely attack vector is that an attacker gains the ability to supply a crafted .npy or .npz file to the MONAI pipeline, either via an upload endpoint, data ingestion script, or other file-loading mechanism. Once the file is processed, arbitrary code runs with the privileges of the MONAI process. The risk is therefore high and the opportunity exists in any environment that accepts untrusted data files.

Generated by OpenCVE AI on September 27, 2026 at 04:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade MONAI to version 1.6.0 or later.
  • If an upgrade cannot be performed immediately, configure MONAI to load .npy/.npz files with numpy.load(..., allow_pickle=False) or use a safe deserialization wrapper.
  • Block or filter untrusted .npy and .npz files at the ingestion point; only accept files from trusted sources and validate them before processing.

Generated by OpenCVE AI on September 27, 2026 at 04:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 27 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Description 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.
Title MONAI before 1.6.0 Remote Code Execution via NumpyReader
First Time appeared Project-monai
Project-monai monai
Weaknesses CWE-502
CPEs cpe:2.3:a:project-monai:monai:*:*:*:*:*:*:*:*
Vendors & Products Project-monai
Project-monai monai
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.5, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Project-monai Monai
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-27T01:28:40.337Z

Reserved: 2026-09-27T00:18:40.971Z

Link: CVE-2026-100845

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-27T02:17:23.140

Modified: 2026-09-27T02:17:23.140

Link: CVE-2026-100845

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T05:30:17Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data