CVE-2025-71005
Executive Summary
CVE-2025-71005 is a Denial of Service (DoS) vulnerability in the oneflow.view component of OneFlow v0.9.0. The vulnerability is caused by a Floating Point Exception (FPE) that can be triggered by a crafted input, leading to a crash of the application. This vulnerability has a CVSS score of 0.0, indicating that it has not been officially scored, but the impact is limited to availability. No public proof-of-concept (PoC) or patch is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
OneFlow is a Python-based deep learning framework distributed via PyPI. Users should verify the integrity of their OneFlow installation and monitor for updates. The vulnerability affects the oneflow.view component, which is a core tensor operation.
CVSS Breakdown & Threat Level
- CVSS Score: 0.0 (Unscored)
- Attack Vector (AV): Network (likely)
- Attack Complexity (AC): Low (likely)
- Privileges Required (PR): None (likely)
- User Interaction (UI): None (likely)
- Scope (S): Unchanged
- Confidentiality (C): None
- Integrity (I): None
- Availability (A): High
- Threat Level: Low (due to lack of public exploit and low EPSS score)
Deep Dive & Mechanics
The vulnerability resides in the oneflow.view function, which is used to reshape tensors. A Floating Point Exception (FPE) occurs when an arithmetic operation results in an undefined or unrepresentable floating-point value, such as division by zero or overflow. In this case, a crafted input can cause the view function to perform an invalid floating-point operation, leading to a crash.
The root cause is likely improper input validation or error handling in the tensor reshaping logic. When the input tensor dimensions or size parameters are manipulated, the internal calculations may produce a floating-point exception, which is not caught, causing the application to terminate.
Vulnerable vs. Patched Code
Vulnerable Code (OneFlow v0.9.0):
# Hypothetical vulnerable implementation
def view(tensor, shape):
# No validation of shape parameters
new_size = compute_new_size(tensor.size(), shape)
# compute_new_size may perform division by zero or overflow
return tensor.reshape(shape)
Patched Code (Hypothetical):
def view(tensor, shape):
# Validate shape parameters
if any(dim == 0 for dim in shape):
raise ValueError("Shape dimensions cannot be zero")
new_size = compute_new_size(tensor.size(), shape)
# Add exception handling for floating point errors
try:
return tensor.reshape(shape)
except FloatingPointError:
raise RuntimeError("Invalid shape for view operation")
Exploitation & Lab Setup
Red Team
Environment Setup:
- Install OneFlow v0.9.0:
pip install oneflow==0.9.0 - Use Python 3.8+.
- Install OneFlow v0.9.0:
Exploit Script:
import oneflow as flow import numpy as np # Crafted input to trigger FPE tensor = flow.tensor(np.random.randn(2, 3)) # Malicious shape parameter malicious_shape = (0, -1) # Division by zero or invalid size try: result = flow.view(tensor, malicious_shape) except Exception as e: print(f"Exception: {e}")Expected Outcome: The application crashes or raises a FloatingPointError, causing a DoS.
Blue Team
Detection:
- Monitor for crashes or exceptions in OneFlow processes.
- Use application logs to detect abnormal tensor operations.
Mitigation:
- Implement input validation for tensor shape parameters.
- Use try-except blocks to catch floating-point exceptions.
- Upgrade to a patched version when available.
Indicators of Compromise (IOCs)
- Log Entries:
FloatingPointError,FPE,division by zeroin OneFlow logs. - Process Behavior: OneFlow process crashes or terminates unexpectedly.
- Network Traffic: No specific network IOCs; the attack is local to the application.
Detection Engineering
YARA Rule
rule CVE_2025_71005_OneFlow_FPE {
meta:
description = "Detects OneFlow v0.9.0 FPE vulnerability exploitation"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-71005"
strings:
$s1 = "oneflow.view" ascii wide nocase
$s2 = "FloatingPointError" ascii wide nocase
$s3 = "division by zero" ascii wide nocase
condition:
any of them
}
Sigma Rule
title: OneFlow FPE DoS Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to exploit CVE-2025-71005 in OneFlow v0.9.0
author: Valters IT
logsource:
category: application
product: oneflow
detection:
selection:
EventID: 1000 # Application Error
ProviderName: 'OneFlow'
Message|contains: 'FloatingPointError'
condition: selection
falsepositives:
- Legitimate tensor operations with edge cases
level: medium
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2025-71005 OneFlow FPE DoS Attempt"; flow:to_server; content:"oneflow.view"; nocase; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict access to OneFlow applications to trusted users only.
- Implement input validation for tensor shape parameters.
- Add exception handling for floating-point operations.
Long-term Fix:
- Monitor OneFlow GitHub repository for patches.
- Upgrade to a patched version when released.
- Consider using alternative deep learning frameworks if no patch is available.
Workarounds:
- Use a wrapper function that validates shape parameters before calling
oneflow.view. - Run OneFlow in a sandboxed environment to limit impact of crashes.
- Use a wrapper function that validates shape parameters before calling
Valters IT
Securing Digital Frontiers
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.