German researcher Tobias Mädel discovered that, under certain conditions, ProFTPD servers are vulnerable to remote code execution and information disclosure attacks.The root of the problem lies in the mod_copy module bug, which allows arbitrary files copying. Most often, this module is enabled by default.
“All versions of ProFTPd up to and including 1.3.6 (the problem extends to 1.3.6 only if the compilation date is earlier than 07/17/19) are vulnerable in the mod_copy module“, – reported Tobias Mädel
The bug allows an authenticated user (including an anonymous user) to copy files, even if he does not have permission to write. This behavior is caused by an error in SITE CPFR and SITE CPTO, commands ignore denyall “Limit WRITE”, which allows the user to copy the file to the current folder, even if he does not have such rights.
Medel emphasizes that in order to implement the remote execution of an arbitrary code on practice, must meet at once a number of conditions. So, mod_copy must be enabled, the attacker will need access to the server (anonymous account or authorization), the server must have a file with PHP code, but not using the PHP extension, and so on.
According to Shodan statistics, at least 28,000 potentially vulnerable servers with anonymous access and more than a million ProFTPD servers as a whole can be detected on the network.
The vulnerability received the identifier CVE-2019-12815 (Debian, SUSE, Ubuntu) and is associated with the old bug CVE-2015-3306, which allowed an attacker to read and write arbitrary files using SITE CPFR and SITE CPTO.
However, currently the problem remains uncorrected. The fact is that the patch for the problem has already been written and was added retroactively to ProFTPD 1.3.6, but the developers have not yet released a new patched version. Thus, if your package is compiled to 7.17.19, you are vulnerable. In this case, you can either disable mod_copy, or you should take care of downloading and recompiling.