Skip to main content

MosaicML Composer CVE-2026-10043

| EUVDEUVD-2026-39110 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-06-24 zdi GHSA-cv8h-j5cx-fg4f
7.8
CVSS 3.0 · Vendor: zdi
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft checkpoint with malicious pickle __reduce__ payload
  2. Delivery
    Distribute via model hub or direct share
  3. Exploit
    Victim loads checkpoint in Composer
  4. Execution
    Pickle deserialization invokes attacker callable
  5. Impact
    Execute arbitrary code as training process

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to load an attacker-controlled checkpoint file through Composer's checkpoint loading path - specifically the resumption checkpoint loader (load_resumption_checkpoint, which used pickle.load) or the general torch.load path that used weights_only=False. The concrete prerequisite is that the target opens/loads a malicious checkpoint or .pt file (UI:R), e.g. one obtained from an untrusted model hub, shared drive, or collaborator. Limiting factors: there is no remote network-listening service to attack (AV:L) - the attacker must get the victim to load the file; no authentication or special privileges are needed on the victim side (PR:N); and exploitation is confined to organizations that load externally sourced checkpoints, so deployments that only load self-produced, trusted checkpoints are not realistically exposed. No special non-default configuration is required - the unsafe deserialization was the default behavior on the affected code path.

Impact

The CVSS 3.0 base score is 7.8 (High) with vector AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - local attack vector, low complexity, no privileges, but requiring user interaction, with full confidentiality/integrity/availability impact at unchanged scope. This is a client-side/processing vulnerability, not a remotely reachable network service: the 'remote attacker' delivers a poisoned checkpoint that a victim must load, which reconciles the description's 'Remote Code Execution' wording with the AV:L vector (local execution triggered by opening attacker-supplied content). No EPSS score, KEV listing, or SSVC decision was provided in the input, so exploitation probability cannot be quantified; however, the pattern (unsafe pickle in an ML library) is well understood and trivially weaponizable, as the vendor's own regression test demonstrates with an os.system payload. Real-world priority is moderate and contingent on whether an organization loads third-party/untrusted checkpoints - environments that only load self-generated checkpoints face limited exposure.

Exploit ScenarioDerived

An attacker publishes a backdoored model checkpoint on a public model hub or sends it to an ML engineer as 'pretrained weights' or a 'resume training' file. When the victim calls Composer's checkpoint loading on that file, the embedded pickle payload (e.g. an object whose __reduce__ returns os.system('...')) executes attacker code with the privileges of the training process. No exploit code is public, but the vendor's own regression test shows how trivially a malicious __reduce__ payload triggers execution, reflecting low attack complexity (AC:L) offset by required user interaction (UI:R).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 24, 2026

Arbitrary code execution in MosaicML Composer arises when the library loads a model or resumption checkpoint, because checkpoint parsing deserializes attacker-controlled pickle data without validation (CWE-502). A user who loads a maliciously crafted checkpoint (.pt) file - for example one downloaded from a model hub or shared by a collaborator - runs arbitrary Python code in the context of the training process. Reported through ZDI (ZDI-26-384, ZDI-CAN-27990); no public exploit identified at time of analysis and the issue is not listed in CISA KEV, but an upstream source fix is available.

RemediationAI

Upstream fix available (PR/commit); a released patched version is not independently confirmed from the available data - track the MosaicML Composer release that incorporates commit 6405188805a0054b4551ec49e4919c54c971d0e8, which replaces unguarded pickle.load with a _RestrictedUnpickler allowlist and switches torch.load to weights_only=True with torch.serialization.safe_globals(). Until a tagged patched release is pinned, the primary compensating control is to never load checkpoints from untrusted or unverified sources: load only checkpoints you generated or that are cryptographically verified (checksums/signatures) from a trusted artifact store, accepting that this restricts usable files to known-good ones. Where you control the loading code, force torch.load(..., weights_only=True) and avoid weights_only=False, noting that some legacy checkpoints serializing non-tensor objects (e.g. metric objects) may then fail to load and require load_ignore_keys (e.g. state/train_metrics/*, state/eval_metrics/*) to skip unsupported entries. Treat checkpoint files like executable code in CI/CD and isolate checkpoint-loading processes (least-privilege accounts, containers/sandboxing) to limit blast radius. Advisory references: https://www.zerodayinitiative.com/advisories/ZDI-26-384/ and the fix commit URL above.

Affected VersionsENISA

composer 0.32.1

Affected Packages

euvd composer no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

MosaicML Composer is an open-source PyTorch training library used to train and fine-tune deep-learning models, with built-in support for saving and resuming from checkpoints. The vulnerable code path is checkpoint loading: composer/checkpoint/load.py used a bare pickle.load() on resumption checkpoints, and composer/utils/checkpoint.py called torch.load(..., weights_only=False), both of which invoke Python's pickle machinery. Pickle deserialization can instantiate arbitrary objects and invoke their __reduce__ methods (e.g. os.system), the canonical CWE-502 'Deserialization of Untrusted Data' root cause. The fix introduces a _RestrictedUnpickler that allowlists only known-safe globals (builtins, collections, numpy, torch tensor rebuild helpers) and switches torch.load to weights_only=True wrapped in torch.serialization.safe_globals(), so untrusted checkpoints can no longer reach dangerous callables. Affected per CPE: cpe:2.3:a:mosaicml:composer (all versions prior to the fix).

Know when Composer gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (zdi) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Local because exploitation requires the victim to load a malicious checkpoint file (AV:L/UI:R); no privileges needed (PR:N), and arbitrary code execution yields full C/I/A impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (zdi).

CVSS VectorVendor: zdi

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

MosaicML Composer Deserialization of Untrusted Data Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of MosaicML Composer. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.

The specific flaw exists within the parsing of checkpoints. The issue results from the lack of proper validation of user-supplied data, which can result in deserialization of untrusted data. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-27990.

Executive ViewAI

Why It Matters

MosaicML Composer contains an arbitrary code execution vulnerability (CVSS 7.8) triggered when users load machine learning checkpoints from untrusted sources. While no public exploit identified at time of analysis, any user loading a malicious checkpoint can execute code with full training environment privileges, potentially compromising models, training data, and connected systems.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict checkpoint loading to internally-controlled sources and conduct security review of all checkpoint sources; (2) Implement air-gapped or sandboxed training environments for external or untrusted checkpoints; (3) Establish checkpoint validation procedures before loading; (4) Audit and enforce least-privilege user permissions on training systems; (5) Monitor upstream MosaicML repository for patch releases.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular open-source ML training library, common in PyTorch/LLM workflows but not universal
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2021-29472 HIGH POC
8.8 Apr 27

Composer is a dependency manager for PHP. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, lo

CVE-2026-84361 HIGH POC
7.7 Sep 01

Command injection in PHP Composer's Perforce VCS handler allows arbitrary local command execution with the privileges of

CVE-2023-1596 MEDIUM POC
6.1 May 15

The tagDiv Composer WordPress plugin before 4.0 does not sanitise and escape a parameter before outputting it back in th

CVE-2021-41116 CRITICAL
9.8 Oct 05

Composer is an open source dependency manager for the PHP language. Rated critical severity (CVSS 9.8), this vulnerabili

CVE-2023-43655 HIGH
8.8 Sep 29

Composer is a dependency manager for PHP. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, lo

CVE-2022-24828 HIGH
8.8 Apr 13

Composer is a dependency manager for the PHP programming language. Rated high severity (CVSS 8.8), this vulnerability is

CVE-2026-59948 HIGH POC
7.0 Jul 08

Arbitrary file write in Composer (the PHP dependency manager) before 2.2.29 and 2.10.2 allows a malicious package served

CVE-2025-3510 MEDIUM
6.4 May 02

The tagDiv Composer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via multiple shortcodes in all ver

CVE-2026-59946 MEDIUM
6.1 Jul 08

Path traversal in Composer's binary installation flow allows a malicious PHP package to cause arbitrary host files to be

CVE-2026-11914 MEDIUM
5.9 Jul 10

Improper input validation in the Drupal Composer contributed module (SA-contrib-2026-046) exposes sites to confidentiali

CVE-2026-109153 MEDIUM
5.3 Oct 13

Path traversal in MosaicML Composer 0.32.1 and earlier allows an attacker who supplies a crafted checkpoint archive to w

CVE-2026-59947 MEDIUM
4.7 Jul 08

Credential leakage in Composer PHP dependency manager exposes sensitive tokens - such as GitHub Personal Access Tokens e

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy