Wing FTP Server CVE-2025-47812: root or SYSTEM RCE
CVE-2025-47812 (CVSS 10.0) enables RCE in Wing FTP Server before 7.4.4, including via anonymous access. PoC, KEV, detection and fixes.
- AUTHOR
- Karol Rapacz / Penetration Tester (OSCP, PNPT)
- PUBLISHED
- 30 June 2025
- READING TIME
- 21 min read
- TOPIC
- Critical Vulnerabilities
CVE-2025-47812 is a critical Wing FTP Server vulnerability enabling remote code execution with service privileges—root on Linux or SYSTEM on Windows by default. The flaw is rated CVSS 10.0, affects releases before 7.4.4, may be exploited through enabled anonymous access, and is listed in CISA’s Known Exploited Vulnerabilities catalogue after real attacks were confirmed.
Immediate action: upgrade Wing FTP Server to 7.4.4 or a later supported release, restrict HTTP/HTTPS interfaces and do not assume that disabling regular user accounts solves the problem. For previously reachable servers, examine session files, child processes and outbound traffic.
Confirmed information
| Attribute | Value |
|---|---|
| Product | Wing FTP Server |
| Vulnerable versions | every version before 7.4.4 |
| Fixed version | 7.4.4 and later |
| CVSS | 10.0 — critical |
| Root cause | incorrect NULL-byte handling in the username |
| Exposure | user and admin web interfaces; anonymous access may suffice |
| Impact | Lua injection and command execution as the service account |
| CISA KEV | yes, added 14 July 2025 |
| Active exploitation | yes, observed from 1 July 2025 |
The scope and rating are confirmed by the CVE record and NVD. Huntress reported exploitation attempts one day after public technical disclosure.
How a NULL byte becomes RCE
Wing FTP Server combines components implemented in different technologies. A username passed through native code and Lua logic that interpreted the string terminator \0 differently. One layer could treat text before the NULL byte as the account name while attacker-controlled trailing content remained available to logic writing session data.
The mismatch allowed Lua code to be injected into a user session file. When an authenticated function later loaded that file, the stored code executed. If anonymous access was enabled, the attacker did not need a normal user’s credentials.
The chain combines three dangerous properties:
- inconsistent validation across the C++ and Lua boundary;
- storing controlled content in an executable session format;
- running the service with highly privileged operating-system rights.
That final property explains the total impact. RCE in a file-transfer service running as root or SYSTEM can expose the host, transferred files and credentials used by MFT automation.
Public PoC and responsible validation
The original researcher published the detailed “What the NULL?! Pre-Auth Wing FTP Server RCE” analysis with technical proof-of-concept material. It is valuable defensive research but should not be reproduced in production: the process writes controlled session content and can execute commands.
Safe validation consists of:
- checking the version in the interface, installation files and package inventory;
- identifying published HTTP/HTTPS ports, not only FTP and SFTP;
- establishing whether anonymous access was enabled at any point during exposure;
- making a forensic copy of session files before cleanup or upgrade;
- testing the fixed version in a lab with a harmless marker;
- retesting from Internet and internal-network perspectives.
Never execute a random PoC repository on an analyst workstation. Exploit code is sometimes modified to attack the researcher running it.
Patch and temporary restrictions
The complete fix is Wing FTP Server 7.4.4 or later. Update every instance, including standby, disaster-recovery and test servers containing copied data. Verify the active process version after installation and perform a controlled restart.
Until patching is complete:
- block the user and administration web interfaces at the edge;
- permit management only from a dedicated network or jump host;
- disable anonymous access unless it is essential;
- run the service under a restricted account with minimum filesystem access;
- control egress to disrupt tool download and command-and-control traffic;
- preserve forensic evidence before deleting session files.
Disabling anonymous access does not remove the vulnerability for other available accounts. Segmentation and least privilege reduce exposure but do not replace the fixed release.
Confirmed exploitation
Huntress confirmed CVE-2025-47812 exploitation attempts from 1 July 2025. In the observed incident, actors created malicious session files and attempted to launch system utilities to retrieve additional components. Other incidents may use different tooling, so one hash or process name is not a sufficient detection strategy.
CISA added the vulnerability to its KEV catalogue on 14 July 2025. A reachable vulnerable server should therefore trigger urgent incident-response activity, not an ordinary maintenance ticket.
Hunting data and artefacts
The highest-value evidence includes:
- session
.luafiles named with long hexadecimal strings; - unusual session content and references to system functions or commands;
- child processes of
wingftp.exeor the Linux Wing FTP process; - download tools, command interpreters and administration utilities;
- new local users, services, scheduled tasks, cron entries and SSH keys;
- outbound connections immediately after web-interface requests;
- anonymous logins and abnormal username values;
- changes to configuration, certificates and shared directories.
When malicious Lua is found, isolate the server and preserve a copy before deletion. Rotate MFT credentials and examine business partners reachable from the system. Reinstalling the application without host analysis may leave operating-system persistence intact.
Validate attack surface without exploitation
Exposure assessment should answer four questions: does a vulnerable instance exist, is its web interface reachable, could an actor obtain a session context, and how long did that condition exist? Sending a NULL-byte exploit string is not required to justify urgent action.
Build inventory from several independent sources. A CMDB may omit a disaster-recovery node, cloned test machine or a business-managed installation. Compare installed services and packages, DNS, load-balancer configuration, NAT/WAF rules, TLS certificates and external attack-surface observations. An HTTP product header can be a clue but is not reliable version evidence by itself.
Reconstruct historical reachability next. A firewall rule visible today does not prove that the panel was private on 1 July 2025. Review infrastructure-as-code history, security-group changes, reverse-proxy configuration, archived scans and request logs. Separate transfer ports from the user web portal and administration console. A requirement to publish SFTP does not justify public HTTP/HTTPS management.
For each instance, record the active process binary version, data directory, service identity, enabled protocols, anonymous-access state, reachable directories and downstream systems. That profile establishes blast radius without a PoC. If the release is vulnerable, the web UI was reachable and telemetry is incomplete, classify the case as a possible incident rather than “no evidence of compromise”.
Triage: maintenance patch or incident response?
Assign each instance to one of four response paths during initial triage:
- Fixed and never exposed. Confirm package provenance, retest routing and close after configuration review.
- Vulnerable but demonstrably isolated. Patch urgently, preserve baseline logs and verify that no proxy, partner VPN or lower-trust host had a route.
- Vulnerable and reachable, no known indicator. Preserve evidence before restart, patch, hunt and rotate secrets proportionately to server access.
- Lua artefact, child process or unauthorised change. Isolate the host, begin full incident response and assume operating-system compromise.
The absence of one published process name or hash does not reduce path three to path two. Huntress documented one observed intrusion, while another actor could use different tooling or only steal data. Base the decision on combined version, reachability, log continuity, session, process, file and egress evidence.
Preserve the order of operations. Isolation and evidence capture can matter more than immediately deleting a suspicious file. Where transfers cannot stop, route approved activity to a known-clean node after configuration review and isolate the suspect. This playbook belongs in the ransomware defence plan, because MFT servers are natural staging and lateral-movement systems.
Telemetry from HTTP request to operating-system process
Reliable detection correlates at least three layers. A reverse proxy or WAF identifies source, time and web request. Wing FTP logs bind the request to a user, session and operation. EDR, auditd or Sysmon records the file write, later load and a service child process.
Build a timeline around each unusual anonymous login or username parsing error. Identify the session, associated .lua file, modification time and process that read it. Pivot to process-creation and network events. A short sequence of request, session-file modification and new egress is more meaningful than an exotic user agent alone.
Apply File Integrity Monitoring to application, configuration and session locations with a baseline that understands legitimate activity. Alert on executable content, unexpected system functions, ownership changes and a session file written by a process other than Wing FTP. On Windows monitor the parent–child relationship from wingftp.exe; on Linux monitor the corresponding process, shell utilities, transfer tools and startup-mechanism changes.
Export logs off-host with low latency because local evidence can be changed after RCE. Retention should cover the full possible exposure and partner-transfer cycle. Analyst identities and SIEM rule changes belong behind PAM and just-in-time access.
Post-patch hardening limits the next vulnerability
Patching removes the known defect but does not make MFT low-risk. Separate public transfer, user portal and administration planes in routing, firewall and identity policy. Management should be reachable only from a dedicated segment or access gateway with MFA. Zero Trust architecture verifies a named identity and managed device rather than trusting an entire VPN.
The service should not run as root or SYSTEM when the supported design permits privilege reduction. Grant only required directories and consider separate volumes for partner workflows. Use a different credential per workflow, prohibit interactive use, control writes outside work areas and prevent execution from upload locations using operating-system controls.
Egress allowlists should contain only required DNS, time, update and partner endpoints. General Internet access supports tool retrieval and exfiltration. Segmentation should also restrict AD, backup and management connectivity; include these dependencies in a hybrid cloud and infrastructure penetration test.
Remediation verification and safe retest
Begin retesting by proving the new process is running rather than trusting installer success. Record portal version, binary version, process start time and every cluster node. Include disaster-recovery images and automation that might restore a vulnerable snapshot.
From an external perspective, confirm that only required services remain public. The management console should be denied at the network or access-gateway layer. Test legitimate transfers with a dedicated account, anonymous behaviour according to policy, administrator login and alerting on an agreed harmless anomaly.
Do not replay the public RCE chain in production. An isolated lab may compare vulnerable and fixed behaviour with a marker that executes no command while session creation is monitored. Production closure criteria are: a fixed release on every node, no unintended exposure, reviewed historical window, rotated secrets for suspect hosts, effective detections and explicit risk-owner acceptance.
CVE-2025-47812 decision tree
- Is any Wing FTP Server older than 7.4.4 present? If no, confirm the active process version and retest exposure. If yes, preserve logs immediately and schedule the update.
- Was HTTP/HTTPS reachable from the Internet or a lower-trust zone? If yes, or history cannot be reconstructed, hunt. If no, support that claim with two independent evidence sources.
- Was anonymous enabled? If yes, increase priority. If no, do not close the case; an available normal account can still satisfy the prerequisite.
- Is there an unusual session file, child process, persistence or egress? If yes, isolate and run full IR. If no, judge telemetry completeness before concluding that no breach occurred.
- Could the server access partner or internal secrets? Rotate them by priority and review use. If data exposure is plausible, follow the data-breach response process.
The business risk of MFT systems
Managed file-transfer servers connect organisations with customers, suppliers and batch processes. They hold high-value data and credentials to downstream systems. That combination makes the category attractive to data-theft and extortion groups.
A mature defence includes a dedicated network zone, administrator MFA, partner-account governance, short file retention, integrity monitoring and a tested data-breach response plan. An external infrastructure penetration test should assess both the MFT service and lateral paths available after host compromise.
Checklist
- Every Wing FTP server runs 7.4.4 or later.
- HTTP/HTTPS interfaces are not public without a documented requirement.
- Anonymous access is disabled or tightly restricted.
- We preserved session files and pre-upgrade logs.
- We reviewed child processes, accounts, persistence and outbound traffic.
- We rotated credentials available to any server with suspicious history.
- We retested external exposure after remediation.
- We confirmed the active process version on every cluster and DR node.
- Historical exposure was reconstructed from firewall, proxy and infrastructure-change records.
- SIEM correlates web requests, session files, child processes and egress.
- Administration requires a private path, MFA and a managed device.


