CVE-2026-31253

Published May 11, 2026 CVSS 3.1 · 7.3 High EPSS < 1% KEV · Not listed
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-7g5w-pq96-8c5w flash-attention contains an insecure deserialization vulnerability in its checkpoint loading mechanism
History
Type Values Removed Values Added
Title Insecure Deserialization in flash‑attention Checkpoint Loading Allows Arbitrary Code Execution
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'}

Type Values Removed Values Added
First Time appeared Dao-ailab
Dao-ailab flash-attention
Vendors & Products Dao-ailab
Dao-ailab flash-attention
Type Values Removed Values Added
Title Insecure Deserialization in flash‑attention Checkpoint Loading Allows Arbitrary Code Execution
Weaknesses CWE-502
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
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
May 12, 2026, 7:32 PM
Reserved
Mar 9, 2026, 12:00 AM
Status
Deferred
Published
May 11, 2026, 5:16 PM
Modified
Jun 17, 2026, 10:33 AM