CVE-2019-9858: Path Traversal
Remote code execution was discovered in Horde Groupware Webmail 5.2.22 and 5.2.17. Horde/Form/Type.php contains a vulnerable class that handles image upload in forms. When the HordeFormTypeimage method onSubmit() is called on uploads, it invokes the functions getImage() and getUpload(), which uses unsanitized user input as a path to save the image. The unsanitized POST parameter object[photo][img][file] is saved in the $upload[img][file] PHP variable, allowing an attacker to manipulate the $tmpfile passed to moveuploadedfile() to save the uploaded file. By setting the parameter to (for example) ../usr/share/horde/static/bd.php, one can write a PHP backdoor inside the web root. The static/ destination folder is a good candidate to drop the backdoor because it is always writable in Horde installations. (The unsanitized POST parameter went probably unnoticed because it's never submitted by the forms, which default to securely using a random path.)
Affected Software
Event History
Frequently Asked Questions
What is CVE-2019-9858?
CVE-2019-9858 is a vulnerability that allows remote code execution in Horde Groupware Webmail 5.2.22 and 5.2.17.
How does CVE-2019-9858 work?
CVE-2019-9858 works by exploiting a vulnerable class in Horde/Form/Type.php that handles image upload in forms.
What is the severity of CVE-2019-9858?
CVE-2019-9858 has a severity rating of 8.8 (high).
How do I fix CVE-2019-9858?
To fix CVE-2019-9858, update your installation to Horde Groupware Webmail version 5.2.22 or 5.2.17, or apply the appropriate patches provided by Debian.
Where can I find more information about CVE-2019-9858?
You can find more information about CVE-2019-9858 on Packet Storm Security, Debian LTS Announce, and Bugtraq mailing list.