CVE-2018-25254 Overview
CVE-2018-25254 is a structured exception handler (SEH) buffer overflow in NICO-FTP 3.0.1.19. Remote attackers exploit the flaw by sending crafted FTP server responses that overflow a stack buffer in the client. The overflow overwrites the SEH chain, enabling redirection of execution to attacker-controlled shellcode. The weakness maps to [CWE-787] Out-of-Bounds Write. Successful exploitation yields arbitrary code execution in the context of the user running the FTP client.
Critical Impact
Remote attackers can achieve arbitrary code execution on hosts running NICO-FTP 3.0.1.19 by delivering oversized FTP response data that overwrites the SEH pointer.
Affected Products
- NICO-FTP 3.0.1.19 (Windows FTP client)
- nico-ftp_project:nico-ftp package distributions
- Legacy installations sourced from third-party software repositories
Discovery Timeline
- 2026-04-04 - CVE-2018-25254 published to the National Vulnerability Database (NVD)
- 2026-04-27 - Last updated in NVD database
Technical Details for CVE-2018-25254
Vulnerability Analysis
The vulnerability resides in how NICO-FTP 3.0.1.19 handles server-supplied FTP response data. The client copies response strings into a fixed-size stack buffer without bounds checking. Oversized input overflows the buffer, corrupting adjacent stack frames including the SEH registration record. When an exception is later raised during processing, the corrupted handler pointer transfers execution to attacker-supplied data. This pattern is documented in Exploit-DB entry #45442 as a working SEH overwrite primitive against the client.
Root Cause
The root cause is missing input length validation on FTP response handlers, classified under [CWE-787] Out-of-Bounds Write. The application does not enforce maximum lengths before copying server data into stack buffers. The binary lacks SafeSEH and SEHOP protections on the vulnerable module, allowing the overwritten handler to point at attacker-controlled memory.
Attack Vector
Exploitation requires the victim to connect to an attacker-controlled FTP server. The attacker returns a crafted oversized response containing a nSEH/SEH overwrite payload, a pop/pop/ret gadget, and shellcode. When the client processes the response and an exception fires, the SEH dispatcher invokes the attacker's gadget and pivots execution into the shellcode. The attack is unauthenticated and network-reachable, requiring only that the user initiate a connection to the malicious server.
No verified code examples are available. See the Exploit-DB #45442 entry and the VulnCheck Advisory - Nico FTP Buffer Overflow for technical specifics.
Detection Methods for CVE-2018-25254
Indicators of Compromise
- Outbound TCP connections from nico-ftp.exe to untrusted FTP servers on port 21 or non-standard ports
- Unexpected child processes spawned by nico-ftp.exe, such as cmd.exe, powershell.exe, or rundll32.exe
- Crash artifacts or Windows Error Reporting events referencing nico-ftp.exe with access violations near SEH dispatch
- FTP banner responses containing long ASCII runs, NOP sleds, or non-printable byte sequences
Detection Strategies
- Monitor process lineage to flag any child process created by nico-ftp.exe, which should not normally spawn interactive shells or scripting hosts
- Inspect FTP traffic for response payloads exceeding typical command-reply lengths, especially on initial connection sequences
- Correlate client crashes with prior FTP session traffic to identify exploitation attempts that fail before code execution
Monitoring Recommendations
- Enable command-line and process-creation auditing on hosts where legacy FTP clients are permitted
- Alert on unsigned executable writes to user-writable directories shortly after FTP client activity
- Capture and retain FTP session metadata in centralized logging for retrospective hunts against known exploit patterns
How to Mitigate CVE-2018-25254
Immediate Actions Required
- Uninstall NICO-FTP 3.0.1.19 from all endpoints, as the project has no active vendor maintenance
- Block outbound FTP (TCP/21) at the perimeter for hosts that previously used the client
- Replace with a maintained FTP/SFTP client such as WinSCP or FileZilla configured for SFTP or FTPS
Patch Information
No vendor patch is available for NICO-FTP 3.0.1.19. The product is no longer maintained, and no fixed version has been published. Refer to the VulnCheck Advisory - Nico FTP Buffer Overflow for advisory details and the Exploit-DB #45442 entry for proof-of-concept context. Remediation requires removal of the affected software.
Workarounds
- Restrict the FTP client to allowlisted internal servers using host-based firewall rules
- Run the client under a low-privilege account inside an isolated network segment if removal is not immediately feasible
- Apply application control policies to block execution of nico-ftp.exe enterprise-wide until decommissioning is complete
# Application control example - block NICO-FTP execution via Windows AppLocker PowerShell
New-AppLockerPolicy -RuleType Path -User Everyone `
-RuleNamePrefix "Block-NICO-FTP" `
-Path "%PROGRAMFILES%\NICO-FTP\nico-ftp.exe" `
-Action Deny | Set-AppLockerPolicy -Merge
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


