Description
The flash-attention training framework thru commit e724e2588cbe754beb97cf7c011b5e7e34119e62 (2025-13-04) contains an insecure deserialization vulnerability (CWE-502) in its checkpoint loading mechanism. The load_checkpoint() function in checkpoint.py and the checkpoint loading code in eval.py use torch.load() without enabling the security-restrictive weights_only=True parameter. This allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing a maliciously crafted checkpoint file. When a victim loads this checkpoint during model warmstarting or evaluation, arbitrary code is executed on the victim's system.
Published: 2026-05-11
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flash‑attention framework contains an insecure deserialization flaw in its checkpoint loading mechanism. The load_checkpoint() function and the checkpoint logic in eval.py use torch.load() without the security‑restrictive weights_only=True setting, allowing the deserialization of arbitrary Python objects via the pickle module. An attacker can craft a malicious checkpoint file; when a victim loads this file during model warm‑starting or evaluation, arbitrary Python code runs on the victim’s system. This flaw satisfies CWE‑502 and CWE‑94, giving an attacker full control over the executing environment and compromising confidentiality, integrity, and availability of the host.

Affected Systems

The vulnerability manifests in the flash‑attention library maintained by Dao‑AILab, specifically at the commit e724e2588cbe754beb97cf7c011b5e7e34119e62 (2025‑13‑04). All usages of load_checkpoint() or the eval.py checkpoint loader in this version are affected. No vendor‑specific product name is listed because flash‑attention is an open‑source training framework; consumers must audit the exact commit or release they deploy.

Risk and Exploitability

The vulnerability permits arbitrary code execution when loading an untrusted checkpoint file; it requires local access to the checkpoint but does not depend on a network attack vector. The EPSS score is < 1%, indicating a low but non‑zero likelihood of exploitation, and the issue is not listed in CISA KEV. The CVSS score of 7.3 classifies it as high severity. An attacker who can supply or influence the checkpoint file can run arbitrary code with the permissions of the process executing flash‑attention. The lack of a published official patch or solution further increases the urgency for mitigation.

Generated by OpenCVE AI on May 12, 2026 at 22:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Only load checkpoints from trusted, signed sources; discard any unverified files.
  • Modify flash‑attention’s load_checkpoint() and eval.py to use torch.load(..., weights_only=True) or otherwise disable pickle deserialization.
  • Maintain a forked copy of the repository with the fix applied until an official patch or advisory is released.

Generated by OpenCVE AI on May 12, 2026 at 22:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 12 May 2026 22:45:00 +0000

Type Values Removed Values Added
Title Insecure Deserialization in flash‑attention Checkpoint Loading Allows Arbitrary Code Execution

Tue, 12 May 2026 20:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-94
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 12 May 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Dao-ailab
Dao-ailab flash-attention
Vendors & Products Dao-ailab
Dao-ailab flash-attention

Mon, 11 May 2026 18:00:00 +0000

Type Values Removed Values Added
Title Insecure Deserialization in flash‑attention Checkpoint Loading Allows Arbitrary Code Execution
Weaknesses CWE-502

Mon, 11 May 2026 16:30:00 +0000

Type Values Removed Values Added
Description The flash-attention training framework thru commit e724e2588cbe754beb97cf7c011b5e7e34119e62 (2025-13-04) contains an insecure deserialization vulnerability (CWE-502) in its checkpoint loading mechanism. The load_checkpoint() function in checkpoint.py and the checkpoint loading code in eval.py use torch.load() without enabling the security-restrictive weights_only=True parameter. This allows the deserialization of arbitrary Python objects via the pickle module. An attacker can exploit this by providing a maliciously crafted checkpoint file. When a victim loads this checkpoint during model warmstarting or evaluation, arbitrary code is executed on the victim's system.
References

Subscriptions

Dao-ailab Flash-attention
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-05-12T19:32:41.020Z

Reserved: 2026-03-09T00:00:00.000Z

Link: CVE-2026-31253

cve-icon Vulnrichment

Updated: 2026-05-12T19:32:36.406Z

cve-icon NVD

Status : Deferred

Published: 2026-05-11T17:16:20.307

Modified: 2026-05-12T20:16:34.110

Link: CVE-2026-31253

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-12T22:30:05Z

Weaknesses