Vulnerability record · CVE-2019-9858 · published 29 May 2019
CVE-2019-9858: Horde groupware path traversal vulnerability
Horde · Groupware
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 Horde_Form_Type_image 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 $tmp_file passed to move_uploaded_file() 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.)
Description
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 Horde_Form_Type_image 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 $tmp_file passed to move_uploaded_file() 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.)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| http://packetstormsecurity.com/files/152476/Horde-Form-Shell-Upload.html | ExploitThird Party AdvisoryVDB Entry |
| https://lists.debian.org/debian-lts-announce/2019/06/msg00007.html | Mailing ListThird Party Advisory |
| https://seclists.org/bugtraq/2019/Jun/31 | Mailing ListThird Party Advisory |
| https://ssd-disclosure.com/?p=3814&preview=true | ExploitThird Party Advisory |
| https://www.debian.org/security/2019/dsa-4468 | Third Party Advisory |
| http://packetstormsecurity.com/files/152476/Horde-Form-Shell-Upload.html | ExploitThird Party AdvisoryVDB Entry |
| https://lists.debian.org/debian-lts-announce/2019/06/msg00007.html | Mailing ListThird Party Advisory |
| https://seclists.org/bugtraq/2019/Jun/31 | Mailing ListThird Party Advisory |
| https://ssd-disclosure.com/?p=3814&preview=true | ExploitThird Party Advisory |
| https://www.debian.org/security/2019/dsa-4468 | Third Party Advisory |
Track CVE-2019-9858 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2019-9858), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.