Adversarial Robustness Toolbox Insecure Deserialization Vulnerability in Kubeflow Component Allowing Remote Code Execution

Vulnerability

A vulnerability allowing insecure deserialization has been identified in the Adversarial Robustness Toolbox (ART) version 1.20.1 and prior, specifically within the Kubeflow component's model loading feature. This vulnerability arises because the code uses torch.load() to load model weights from a file, such as model.pt, without the necessary security parameter, weights_only=True. As a result, arbitrary Python objects can be deserialized using the Pickle module. An attacker could exploit this by uploading a maliciously crafted model file to an object storage location referenced by the pipeline or by manipulating the model_id parameter to point to such a file. When the pipeline loads the model, the embedded malicious payload is executed, leading to remote code execution.

Impact

Exploitation of this vulnerability allows for remote code execution on the server where the Adversarial Robustness Toolbox is running.

Reproduction

To reproduce this vulnerability, upload a maliciously crafted model file to an object storage location that the Kubeflow pipeline can access. Ensure that the model_id parameter points to this file. When the pipeline is executed, it will load the model using the vulnerable torch.load() function, without the security-restrictive weights_only=True parameter, allowing the execution of the malicious payload.

Remediation

Users are advised to update to Adversarial Robustness Toolbox version 1.20.2 or later, where this vulnerability has been addressed.

Added: May 12, 2026, 6:36 PM
Updated: May 12, 2026, 6:36 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
8.4
remediation
0.0
relevance
8.1
threat
4.8
urgency
2.9
incentive
4.2

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.