ProFTPD mod_copy arbitrary file write exploited (CVE-2015-3306) [PoC]
CVE-2015-3306
CVE-2015-3306: ProFTPD 1.3.5 mod_copy lets unauthenticated attackers read and write arbitrary files (CVSS 10.0). Upgrade to 1.3.5a or disable mod_copy now.
Actively exploited in the wild - CVE-2015-3306 is a critical arbitrary file read and write flaw in ProFTPD 1.3.5 that lets unauthenticated attackers copy any file on the server using the SITE CPFR and SITE CPTO commands. Upgrade to ProFTPD 1.3.5a or disable mod_copy immediately; exploitation is trivial and confirmed in the wild.
Overview
ProFTPD 1.3.5 ships with the mod_copy module enabled. This module adds two FTP commands: SITE CPFR (copy from) and SITE CPTO (copy to). These commands are handled before any authentication check, meaning an anonymous or unauthenticated connection can instruct the server to copy files on the underlying filesystem.
Because mod_copy does not restrict which paths can be used as source or destination, an attacker can copy a file they can read to a location they can write. The classic exploit chain copies a web shell into a web-accessible directory and then executes it over HTTP. An attacker can also copy sensitive files like /etc/passwd or SSH private keys to a readable FTP location and download them.
Impact
- Arbitrary file read: any file the ProFTPD process can read is exposed.
- Arbitrary file write: any file the ProFTPD process can write can be overwritten or created, including web roots.
- Remote code execution through a dropped web shell, if a web server shares the filesystem.
- Full server compromise without any credentials.
The CVSS score of 10.0 reflects network reachability, no authentication, no user interaction, and complete loss of confidentiality, integrity, and availability.
Remediation
- Upgrade ProFTPD to 1.3.5a or later. This is the vendor’s fix for the flaw.
- If upgrading is not possible right now, disable mod_copy by removing or commenting out the
LoadModule mod_copy.cline in proftpd.conf, then restart the service. - Alternatively, restrict the module to authenticated users only, but this is a workaround, not a fix.
- Audit the filesystem for unexpected files, especially in web-accessible directories, since exploitation may already have occurred.
- Check ProFTPD logs for
SITE CPFRandSITE CPTOentries from unknown clients.
Given the confirmed active exploitation and the 96.8% EPSS score, treat any internet-facing ProFTPD 1.3.5 instance as compromised until proven otherwise. Data breach reports are tracked at breach reports, and current coverage is available at security news.
Security Insight
CVE-2015-3306 is a textbook example of how a convenience feature becomes a catastrophe when it bypasses the authentication model entirely. The fact that SITE CPFR and SITE CPTO were reachable pre-login shows the original design treated FTP command handling as trusted, an assumption that stopped being safe the moment file copy became a primitive. A decade later, this CVE still earns a near-maximum EPSS score because so many embedded and legacy systems ship ProFTPD 1.3.5 unchanged, and nothing about the vulnerability requires skill to exploit. It is a reminder that the most dangerous flaws are often not memory corruption bugs but misplaced trust in the protocol layer itself.
Further Reading
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Metasploit Modules
Weaponized exploit code — authorized use only
The Metasploit Framework modules below are production-ready exploit code maintained by Rapid7. Unlike random GitHub PoCs, these are vetted by Metasploit maintainers and integrated into a point-and-click exploitation framework used by red teams worldwide. The presence of an MSF module means this CVE is trivially exploitable at scale — patch immediately.
Authorized use only. Run only against systems you own or have explicit written permission to test. Using exploit code against systems you do not own is illegal in most jurisdictions and violates Yazoul's terms of use.
| Module | Source |
|---|---|
exploit/unix/ftp/proftpd_modcopy_exec | View source |
1 Metasploit module indexed for this CVE. Source: rapid7/metasploit-framework.
Exploit-DB Entries
Curated public exploit code — authorized use only
The entries below are human-reviewed exploit code hosted on Exploit-DB by Offensive Security. Lower volume than random GitHub PoCs but higher signal: every entry is curated, many are tagged "verified" by the maintainers. Treat as production-ready exploit code.
Authorized use only. Run only against systems you own or have explicit written permission to test. Using exploit code against systems you do not own is illegal in most jurisdictions and violates Yazoul's terms of use.
| EDB-ID | Title | Status |
|---|---|---|
| EDB-36742 | ProFTPd 1.3.5 - File Copy | verified |
| EDB-37262 | ProFTPd 1.3.5 - 'mod_copy' Command Execution (Metasploit) | verified |
| EDB-49908 | ProFTPd 1.3.5 - 'mod_copy' Remote Command Execution (2) | verified |
| EDB-36803 | ProFTPd 1.3.5 - 'mod_copy' Remote Command Execution | unverified |
4 Exploit-DB entries indexed for this CVE. Source: Exploit-DB.
Public PoC References
Unverified third-party code
These repositories are publicly listed on GitHub and have not been audited by Yazoul Security. They may contain malware, backdoors, destructive payloads, or operational security risks (telemetry, exfiltration). Treat them as hostile binaries. Inspect source before execution. Run only in isolated, disposable lab environments (offline VM, no credentials, no production data).
Authorized use only. This information is provided for defensive research, detection engineering, and patch validation. Using exploit code against systems you do not own or do not have explicit written permission to test is illegal in most jurisdictions and violates Yazoul's terms of use.
| Repository | Stars |
|---|---|
| t0kx/exploit-CVE-2015-3306 ProFTPd 1.3.5 - (mod_copy) Remote Command Execution exploit and vulnerable container | ★ 152 |
| nootropics/propane Exploits the arbitrary file write bug in proftpd (CVE-2015-3306) attempts code execution | ★ 2 |
| xyk0x/cpx_proftpd Tool for exploit CVE-2015-3306 | ★ 1 |
| davidtavarez/CVE-2015-3306 ProFTPd 1.3.5 - File Copy | ★ 1 |
| cd6629/CVE-2015-3306-Python-PoC Converted with tweaks from a metasploit module as an exercise for OSCP studying and exploit development | ★ 1 |
Showing 5 of 13 known references. Source: nomi-sec/PoC-in-GitHub.
Related Advisories
Tugtainer is a self-hosted app for automating updates of Docker containers. Prior to version 1.30.4, Tugtainer Agent allows unauthenticated access to Docker management APIs when AGENT_SECRET is not co...
A vulnerability in the JCE editor extension for Joomla allows the creation of new editor profiles for unauthenticated users, ultimately resulting in PHP code upload and execution....
Improper access control in Azure Managed Instance for Apache Cassandra allows an authorized attacker to execute code over a network....
Insecure Permissions vulnerability in grokability snipe-it v.8.4.0 and before and fixed after 2026-03-10 commit 676a9958 allows a remote attacker to execute arbitrary code via the app/Http/Controllers...