CVE-2019-9858

NameCVE-2019-9858
DescriptionRemote 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.)
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, bugtraq, EDB, Metasploit, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, Mageia, GitHub code/issues, web search, more)
ReferencesDLA-1822-1, DSA-4468-1
NVD severitymedium (attack range: remote)
Debian Bugs930321

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
php-horde-form (PTS)jessie2.0.8-2vulnerable
jessie (security)2.0.8-2+deb8u1fixed
stretch2.0.15-1vulnerable
stretch (security)2.0.15-1+deb9u1fixed
bullseye, sid, buster2.0.18-3.1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
php-horde-formsource(unstable)2.0.18-3.1medium930321
php-horde-formsourcejessie2.0.8-2+deb8u1mediumDLA-1822-1
php-horde-formsourcestretch2.0.15-1+deb9u1mediumDSA-4468-1

Notes

https://ssd-disclosure.com/archives/3814/ssd-advisory-horde-groupware-webmail-authenticated-arbitrary-file-injection-to-rce
https://github.com/horde/Form/commit/c916ba979ad1613d76a9407dd0b67968a9594c0e

Search for package or bug name: Reporting problems