CVE-2025-13819
Executive Summary
CVE-2025-13819 is an open redirect vulnerability in the web server component of MiR (Mobile Industrial Robots) Robot and Fleet software. This flaw allows a remote, unauthenticated attacker to craft a malicious link that, when clicked by an authenticated user, redirects them to an arbitrary external website. The attack vector is through a crafted parameter in the web server’s URL, enabling phishing and social engineering campaigns that can lead to credential theft or further compromise of the MiR ecosystem.
The vulnerability has a CVSS score of 6.1 (Medium), with a low EPSS score of 0.0% indicating no active exploitation in the wild at the time of analysis. However, the lack of a vendor patch and the potential for targeted attacks against industrial environments elevates the risk for organizations using MiR robots in production.
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
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects proprietary MiR software deployed on physical robots and fleet management servers. The risk is primarily to operational technology (OT) environments where MiR robots are used for material handling and logistics.
CVSS Breakdown & Threat Level
- CVSS Score: 6.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Attack Vector: Network (AV:N) – exploitable remotely.
- Attack Complexity: Low (AC:L) – no special conditions required.
- Privileges Required: None (PR:N) – no authentication needed to trigger the redirect.
- User Interaction: Required (UI:R) – victim must click the crafted link.
- Scope: Changed (S:C) – the redirect can lead to a different security domain.
- Confidentiality Impact: Low (C:L) – limited information disclosure possible.
- Integrity Impact: Low (I:L) – attacker can modify the redirect destination.
- Availability Impact: None (A:N) – no denial of service.
Threat Level: Medium. While the CVSS is moderate, the industrial context (MiR robots in factories) and lack of patch make this a significant social engineering risk. An attacker could use this to harvest credentials for the MiR web interface, potentially gaining access to robot control systems.
Deep Dive & Mechanics
The vulnerability resides in the web server component of MiR Robot and Fleet software. The web server handles HTTP requests and includes a parameter (likely redirect, url, or next) that is used to redirect users after certain actions (e.g., login, logout, or error pages). Due to insufficient validation, an attacker can supply a fully qualified external URL (e.g., https://evil.com) in this parameter, and the server will issue an HTTP redirect (302) to that external site.
Attack Flow:
- Attacker crafts a URL:
https://<mir-robot-ip>/login?redirect=https://evil.com - Attacker sends this link to a victim (e.g., via email or social media).
- Victim, who is authenticated to the MiR web interface, clicks the link.
- The MiR web server processes the request and redirects the victim’s browser to
https://evil.com. - The attacker’s site can then mimic the MiR login page to steal credentials or deliver malware.
Root Cause: The web server does not validate that the redirect target is a relative path or within the same origin. This is a classic CWE-601 (URL Redirection to Untrusted Site) vulnerability.
Vulnerable vs. Patched Code
Since no patch is available, the following is a hypothetical comparison based on common fixes for open redirects.
Vulnerable Code (Python/Flask example):
@app.route('/login')
def login():
redirect_url = request.args.get('redirect', '/dashboard')
# No validation - allows any URL
return redirect(redirect_url)
Patched Code (Hypothetical):
from urllib.parse import urlparse
ALLOWED_HOSTS = ['mir-robot.local', 'fleet-manager.local']
@app.route('/login')
def login():
redirect_url = request.args.get('redirect', '/dashboard')
parsed = urlparse(redirect_url)
# Only allow relative paths or specific hosts
if parsed.netloc and parsed.netloc not in ALLOWED_HOSTS:
return redirect('/dashboard')
return redirect(redirect_url)
The patched version validates the redirect target against a whitelist of allowed hosts or ensures it is a relative path.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- MiR Robot or Fleet software (any version) running on a local VM or physical device.
- Attacker machine with a web server (e.g., Python’s
http.server) to simulate phishing. - Victim browser (e.g., Firefox) with network access to the MiR device.
Exploitation Steps:
- Identify the vulnerable parameter. Common names:
redirect,url,next,return,goto. - Craft a URL:
http://<mir-ip>/login?redirect=http://attacker.com - Send the link to the victim (e.g., via email).
- When the victim clicks, they are redirected to
http://attacker.com. - On the attacker’s server, host a fake MiR login page to capture credentials.
Example Payload:
# Test with curl
curl -v "http://192.168.1.100/login?redirect=http://evil.com"
# Expected response: HTTP 302 Location: http://evil.com
Blue Team (Defensive)
Detection Steps:
- Monitor web server logs for unusual
redirectparameters containing external domains. - Use network monitoring to detect outbound connections to unknown domains from MiR devices.
- Implement a web application firewall (WAF) rule to block open redirect patterns.
Mitigation:
- Disable the redirect parameter if not needed.
- Apply input validation to allow only relative paths.
- Use a whitelist of allowed redirect destinations.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to MiR devices with parameters like
redirect,url,nextcontaining external domains. - Outbound connections from MiR devices to suspicious external IPs/domains.
- HTTP requests to MiR devices with parameters like
- Log IOCs:
- Web server logs showing HTTP 302 responses with
Locationheaders pointing to external sites. - Repeated failed login attempts after a redirect (possible credential harvesting).
- Web server logs showing HTTP 302 responses with
- File IOCs:
- No specific file-based IOCs for this vulnerability.
Detection Engineering
YARA Rule
rule CVE_2025_13819_Open_Redirect {
meta:
description = "Detects open redirect attempts in MiR web server logs"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-13819"
strings:
$redirect_param = /[?&](redirect|url|next|return|goto)=https?:\/\// nocase
$http_302 = "HTTP/1.1 302"
condition:
$redirect_param and $http_302
}
Sigma Rule
title: MiR Open Redirect Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests to MiR devices with open redirect parameters
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- "redirect=http"
- "url=http"
- "next=http"
- "return=http"
- "goto=http"
condition: selection
falsepositives:
- Legitimate redirects to external services (rare)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-13819 MiR Open Redirect Attempt"; flow:to_server; content:"GET"; http_method; content:"redirect=http"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the redirect parameter in the web server configuration if possible.
- Implement input validation to allow only relative paths (e.g.,
/dashboard). - Use a whitelist of allowed redirect destinations (e.g., internal IPs or hostnames).
- Monitor logs for suspicious redirect patterns.
Long-Term Fix:
- Apply a vendor patch once available.
- Upgrade to a patched version of MiR Robot/Fleet software.
- Conduct a security review of the web server code.
Workarounds:
- Place the MiR web interface behind a reverse proxy that validates redirect parameters.
- Use a WAF to block requests with external URLs in redirect parameters.
Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.