Overview
A significant issue has been identified in pyTorch v2.7.0, a popular open-source machine learning library. This vulnerability, identified as CVE-2025-55560, can lead to a Denial of Service (DoS) attack, potentially compromising systems and leading to data leakage. Developers, system administrators, and organizations using affected versions are advised to implement the necessary patches or mitigation strategies to prevent a potential exploit.
Vulnerability Summary
CVE ID: CVE-2025-55560
Severity: High (7.5 CVSS Score)
Attack Vector: Network
Privileges Required: None
User Interaction: None
Impact: System compromise or data leakage
Affected Products
Product | Affected Versions
PyTorch | v2.7.0
How the Exploit Works
The exploit takes advantage of a specific issue in pyTorch v2.7.0, where the combination of torch.Tensor.to_sparse() and torch.Tensor.to_dense() in a PyTorch model can lead to a Denial of Service (DoS) when compiled by Inductor. Attackers can craft malicious models that, when processed, exhaust system resources, causing a DoS condition and potentially leading to system compromise or data leakage.
Conceptual Example Code
The following is a simplified conceptual example of how an attacker might exploit this vulnerability:
import torch
# Define a PyTorch model with the vulnerability
class VulnerableModel(torch.nn.Module):
def forward(self, x):
x = x.to_sparse()
return x.to_dense()
# Compile the model with Inductor
model = VulnerableModel()
# Craft a malicious input that triggers the vulnerability
malicious_input = torch.randn(1000000, 1000000)
# Pass the malicious input to the model
model(malicious_input)
In this example, the malicious_input tensor is large enough to exhaust system resources when the `to_dense()` method is called, causing a DoS condition.