monai
AI Toolkit for Healthcare Imaging
Activity
- Latest release
- 2mo ago
- Total releases
- 44
- Cadence
- ~34 days
- Last 12 months
- 3
Details
- License
- Apache-2.0
- First release
- Mar 26, 2020
| Version | Released | |
|---|---|---|
1.6.0
minor
|
1.6.0
minor
Dependencies (46)
+ 38 more |
|
1.5.2
patch
4 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev |
1.5.2
patch
Dependencies (45)
+ 37 more |
|
1.5.2rc1
pre
5 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev |
1.5.2rc1
pre
Dependencies (45)
+ 37 more |
|
1.5.1
patch
5 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev |
1.5.1
patch
Dependencies (45)
+ 37 more |
|
1.5.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.5.0
minor
Dependencies (45)
+ 37 more |
|
1.5.0rc1
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.5.0rc1
pre
Dependencies (45)
+ 37 more |
|
1.4.1rc1
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.1rc1
pre
Dependencies (44)
+ 36 more |
|
1.4.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0
minor
Dependencies (43)
+ 35 more |
|
1.4.0rc12
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc12
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc11
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc11
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc10
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc10
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc9
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc9
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc8
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc8
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc7
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc7
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc6
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc6
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc5
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc5
pre
Dependencies (43)
+ 35 more |
|
1.4.0rc4
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc4
pre
Dependencies (42)
+ 34 more |
|
1.4.0rc3
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc3
pre
Dependencies (42)
+ 34 more |
|
1.4.0rc2
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc2
pre
Dependencies (42)
+ 34 more |
|
1.4.0rc1
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.4.0rc1
pre
Dependencies (42)
+ 34 more |
|
1.3.3rc1
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.3.3rc1
pre
Dependencies (41)
+ 33 more |
|
1.3.2
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.3.2
patch
Dependencies (40)
+ 32 more |
|
1.3.2rc1
pre
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.3.2rc1
pre
Dependencies (40)
+ 32 more |
|
1.3.1
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.3.1
patch
Dependencies (40)
+ 32 more |
|
1.3.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.3.0
minor
Dependencies (39)
+ 31 more |
|
1.2.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.2.0
minor
Dependencies (35)
+ 27 more |
|
1.1.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.1.0
minor
Dependencies (32)
+ 24 more |
|
1.0.1
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.0.1
patch
Dependencies (32)
+ 24 more |
|
1.0.0
major
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
1.0.0
major
Dependencies (31)
+ 23 more |
|
0.9.1
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.9.1
patch
Dependencies (29)
+ 21 more |
|
0.9.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.9.0
minor
Dependencies (27)
+ 19 more |
|
0.8.1
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.8.1
patch
Dependencies (23)
+ 15 more |
|
0.8.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.8.0
minor
Dependencies (23)
+ 15 more |
|
0.7.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.7.0
minor
Dependencies (18)
+ 10 more |
|
0.6.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.6.0
minor
Dependencies (17)
+ 9 more |
|
0.5.3
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.5.3
patch
Dependencies (15)
+ 7 more |
|
0.5.2
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.5.2
patch
Dependencies (15)
+ 7 more |
|
0.5.1
patch
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.5.1
patch
Dependencies (15)
+ 7 more |
|
0.5.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.5.0
minor
Dependencies (15)
+ 7 more |
|
0.4.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.4.0
minor
Dependencies (13)
+ 5 more |
|
0.3.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.3.0
minor
Dependencies (11)
+ 3 more |
|
0.2.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.2.0
minor
Dependencies (8)
|
|
0.1.0
minor
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.1.0
minor
Dependencies (8)
|
|
0.0.1
initial
8 CVEs
GHSA-wg9g-w2j2-8pgr
Aug 18, 2026
MONAI: Unsafe deserialization in NumpyReader allows arbitrary code execution via malicious .npy files
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryThe DetailsVulnerable code (permalink):
The The Compare with safe practices in the same project: The MONAI project has already addressed similar deserialization issues in other code paths:
However, Additionally, the
This inconsistency shows that The user cannot override this behavior:
The hardcoded Data flow:
PoC
Output:
ImpactAn attacker can achieve arbitrary code execution on any machine running MONAI by:
This is particularly severe in medical/healthcare contexts where MONAI is deployed, as it could lead to compromise of systems handling protected health information (PHI). Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-rghg-q7wp-9767
Aug 18, 2026
MONAI vulnerable to OS command injection
High
Local
Low
None
None
Comment from JPCERT/CCWe are submitting the report again as we have yet to receive any responses from you after submitting it on February 5 and March 11. It would be greatly appreciated if you could send us a message after confirming it so that we can follow up the case by email. SummaryMONAI vulnerable to OS command injection. DetailsThis library concatenates user-controlled values (YAML's "dataset_name_or_id" or part of "CLI/kwargs") without quoting or validation. Since this string is passed to subprocess with shell=True, shell metacharacters (e.g., Windows: & / Linux: ;) are interpreted. As a result, arbitrary commands can be concatenated and executed. Therefore, the reporter identifies this as CWE-78 (OS Command Injection). The victim needs to load a crafted YAML file in the code that launches training/validation jobs based on the configuration (YAML/arguments). There are no other constraints. PoCVerified on Windows. Load a modified YAML file with crafted "dataset_name_or_id" as follows. Add command separator characters (such as & or ;) and insert arbitrary commands. dataset_name_or_id: '4 & echo "This is exploited" > "C:\Users\shima\OneDrive\Desktop\tmp\test.txt" & rem' dataroot: C:/Users/shima/OneDrive/Desktop/tmp/data datalist: C:/Users/shima/OneDrive/Desktop/tmp/lists/task4.json work_dir: C:/Users/shima/OneDrive/Desktop/tmp/work nnunet_raw: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_raw nnunet_preprocessed: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_preprocessed nnunet_results: C:/Users/shima/OneDrive/Desktop/tmp/nnUNet_results As a victim, verify running the following Python code to load and process the YAML file. from monai.apps.nnunet.nnunetv2_runner import nnUNetV2Runner from pathlib import Path #Path of the crafted YAML file YAML = r"C:\Users\shima\OneDrive\Desktop\tmp\test.yaml" #Text file overwritten when command executes OUT = Path(r"C:\Users\shima\OneDrive\Desktop\tmp\test.txt") #Read YAML runner = nnUNetV2Runner(input_config=YAML, trainer_class_name="nnUNetTrainer") runner.train_single_model(config="3d_fullres", fold=0, gpu_id=0) #Verify command execution print("Result:", OUT.read_text(encoding="utf-8").strip()) Also, see the attached file. JVN#50379904-details.zip Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
GHSA-qxq5-qhx6-94qw
Aug 18, 2026
Incomplete Fix in MONAI: algo_from_pickle() pickle.loads() RCE still present in v1.5.2 despite GHSA-89gg-p5r5-q6r4 claiming patch
7.8
/ 10
High
Local
Low
None
Required
Unchanged
High
High
High
SummaryGHSA-89gg-p5r5-q6r4 claims the pickle deserialization vulnerability in
Vulnerable CodeFile:
Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References Updated Aug 18, 2026 · Source: OSV.dev
CVE-2026-21851
PYSEC-2026-1678
GHSA-9rg3-9pvr-6p27
Jul 07, 2026
MONAI has Path Traversal (Zip Slip) in NGC Private Bundle Download
5.3
/ 10
Medium
Network
High
None
Required
Unchanged
None
High
None
SummaryA Path Traversal (Zip Slip) vulnerability exists in MONAI's This appears to be an implementation oversight, as safe extraction is already implemented and used elsewhere in MONAI. CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) DetailsVulnerable Code LocationFile:
Root CauseThe code calls Safe Code Already ExistsMONAI already has a safe extraction function in
Comparison with Other Download Functions| Function | File | Uses Safe Extraction? |
|----------|------|----------------------|
| PoCStep 1: Create a Malicious Zip File
Output:
Step 2: Demonstrate the DifferenceThis script shows the difference between the vulnerable pattern (used in
Output:
ImpactConditions Required for Exploitation
Potential ImpactIf exploited, an attacker could write files outside the intended extraction directory. The actual impact depends on:
Mitigating Factors
Recommended FixReplace the direct
This aligns ResourcesAffected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 30 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2rc1
Fixed in
1.5.2
References
Updated Jul 07, 2026 · Source: OSV.dev
GHSA-89gg-p5r5-q6r4
Apr 07, 2026
MONAI: Unsafe functions lead to pickle deserialization rce
7.6
/ 10
High
Network
High
High
Required
Changed
High
High
High
SummaryThe Detailspoc
Generate the malicious file "attack_algo.pkl" through POC.
Ultimately, it will trigger pickle.load through a file to identify the command execution. Causes of the vulnerability:
ImpactArbitrary code execution Repair suggestions Verify the data source and content before deserializing, or use a safe deserialization method Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 31 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
1.5.1
1.5.2
1.5.2rc1
Fixed in
1.6.0
References
Updated Jul 31, 2026 · Source: OSV.dev
CVE-2025-58757
GHSA-p8cm-mm2v-gwjm
PYSEC-2025-142
Sep 09, 2025
Monai: Unsafe use of Pickle deserialization may lead to RCE
8.8
/ 10
High
Network
Low
None
Required
Unchanged
High
High
High
SummaryThe When verified using the following proof-of-concept, arbitrary code execution can occur.
Before running the command, there was no hacker1.txt content in my /tmp directory, but after running the command, the command was executed, indicating that the attack was successful.
The above proof-of-concept is merely a validation of the vulnerability. The attacker creates malicious dataset content.
When a user batch-processes data using MONAI's list_data_collate function, the system automatically calls pickle_operations to handle the serialization transformations.
When a user loads a serialized file from an external, untrusted source, the remote code execution (RCE) is triggered. ImpactArbitrary code execution Repair suggestionsVerify the data source and content before deserializing, or use a safe deserialization method, which should have a similar fix in huggingface's transformer library. Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58756
GHSA-6vm5-6jv9-rjpj
PYSEC-2025-141
Sep 09, 2025
MONAI: Unsafe torch usage may lead to arbitrary code execution
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryIn This is a common practice when users want to reduce training time and costs by loading pre-trained models downloaded from platforms like huggingface. Loading a checkpoint containing malicious content can trigger a deserialization vulnerability, leading to code execution. The following proof-of-concept demonstrates the issues that arise when loading insecure checkpoints.
Because my test environment is missing some content, an error will be reported during operation, but the operation is still executed.
ImpactLeading to arbitrary command execution Fix suggestionUse a safe method to load, or force weights_only=True Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev
CVE-2025-58755
GHSA-x6ww-pf9m-m73m
PYSEC-2025-140
Sep 09, 2025
MONAI does not prevent path traversal, potentially leading to arbitrary file writes
8.8
/ 10
High
Network
Low
Low
None
Unchanged
High
High
High
SummaryThe extractall function When reproducing locally, follow the process below to create a malicious zip file and simulate the process of remotely downloading the zip file.
Then start the http service through python
Another terminal simulates a normal user downloading zip content from the Internet, perhaps from some popular forums or blogs, such as huggingface, etc.
We can see that malicious.txt was indeed extracted to the root directory, demonstrating that the path traversal successfully wrote the malicious file. If the Zip file contains SSH keys, malicious content that automatically loads when the user boots the computer, or overwrites legitimate user files, causing services to become inoperable, these actions could cause extremely serious damage. ImpactArbitrary file write Repair SuggestionsCheck the contents of the downloaded Zip file, or use a safer method to load it Affected versions
0.0.1
0.1.0
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.5.2
0.5.3
0.6.0
0.7.0
0.8.0
+ 28 more Show less
0.8.1
0.9.0
0.9.1
1.0.0
1.0.1
1.1.0
1.2.0
1.3.0
1.3.1
1.3.2
1.3.2rc1
1.3.3rc1
1.4.0
1.4.0rc1
1.4.0rc10
1.4.0rc11
1.4.0rc12
1.4.0rc2
1.4.0rc3
1.4.0rc4
1.4.0rc5
1.4.0rc6
1.4.0rc7
1.4.0rc8
1.4.0rc9
1.4.1rc1
1.5.0
1.5.0rc1
Fixed in
1.5.1
References
Updated Jun 06, 2026 · Source: OSV.dev |
0.0.1
initial
Dependencies (10)
+ 2 more |