CVE-2026-31228: The Adversarial Robustness Toolbox (ART) thru 1.20.1 contains a remote code execution vulnerability in its...
The Adversarial Robustness Toolbox (ART) thru 1.20.1 contains a remote code execution vulnerability in its Kubeflow component. The robustness evaluation function for PyTorch models uses the unsafe eval() function to dynamically evaluate user-supplied strings for the LossFn and Optimizer parameters without any sanitization or security restrictions. An attacker can exploit this by providing a specially crafted string that contains arbitrary Python code, which will be executed when eval() is called, leading to complete compromise of the system running the ART evaluation.
Security readout for executives and security teams
Plain-English summary
ART through 1.20.1 can execute attacker-supplied Python code during Kubeflow-based PyTorch robustness evaluations. If untrusted users can control the affected LossFn or Optimizer values, the evaluation system could be fully compromised, including its data, workloads, and availability.
Executive priority
Treat as an immediate investigation and containment priority wherever affected evaluations accept untrusted input. Potential impact is complete compromise of the evaluation environment. Prioritize exposed and multi-tenant systems, but do not claim an incident solely from vulnerability presence; no active exploitation evidence is supplied.
Technical view
The Kubeflow component passes user-controlled LossFn and Optimizer strings to Python eval() without sanitization or restrictions. This is code injection classified as CWE-94. The supplied CVSS 3.1 score is 9.8, reflecting network reachability, low complexity, no required privileges or interaction, and high confidentiality, integrity, and availability impact.
Likely exposure
Exposure is limited to deployments using ART’s Kubeflow robustness evaluation for PyTorch models where untrusted input can reach LossFn or Optimizer. Internet-facing or multi-tenant evaluation services warrant immediate review. The bundle does not identify package distributions, CPEs, or confirmed affected configurations beyond ART through 1.20.1.
Exploitation context
The described weakness provides a direct path to arbitrary Python execution and potential host compromise. However, the source bundle marks this CVE as absent from KEV and provides no cited evidence of active exploitation. Practical reachability depends on how each deployment authenticates and validates evaluation requests.
Researcher notes
The core claim is explicit unsafe eval() use in Kubeflow’s PyTorch robustness evaluation. Structured affected-product data is incomplete: vendor, product, and versions are listed as unavailable, while the narrative states ART through 1.20.1. No patch, commit, fixed version, proof of exploitation, or detection signature is established in the supplied evidence.
Mitigation direction
Identify and restrict deployments running ART through 1.20.1 with the affected Kubeflow evaluation path.
Prevent untrusted users or services from supplying LossFn and Optimizer values.
Isolate evaluation workloads and minimize their credentials, network access, and sensitive data access.
Check current ART vendor guidance for an official fixed release or supported mitigation.
Consider suspending externally reachable affected evaluations until vendor remediation is confirmed.
Validation and detection
Inventory ART versions and locate Kubeflow-based PyTorch robustness evaluation deployments.
Trace whether external or tenant-controlled input can populate LossFn or Optimizer.
Review authentication, authorization, and input validation protecting affected evaluation requests.
Inspect evaluation service logs for unexpected parameters, process launches, or outbound connections.
Confirm remediation against current vendor guidance before restoring broad access.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-94: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
5Timeline events
2ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-94 · source CWE mapping
Improper Control of Generation of Code ('Code Injection')
Improper Control of Generation of Code ('Code Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.