// For flags

CVE-2019-9858

Horde Form Shell Upload

Severity Score

8.8
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

2
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.)

Fue encontrada una ejecución remota de código en Horde Groupware Webmail versión 5.2.22 y versión 5.2.17. El archivo Horde/Form/Type.php contiene una clase vulnerable que maneja la carga de imágenes en formularios. Cuando se llama al método Horde_Form_Type_image en la función onSubmit () en las cargas, hace un llamado a las funciones getImage() y _getUpload(), que utiliza una entrada de usuario no autorizada como un path para guardar la imagen. La falta de saneamiento del parámetro POST object[photo][img][file] se guarda en la variable PHP $upload[img][file], lo que permite a un atacante manipular el archivo $tmp_file pasado a move_uploaded_file() para guardar el archivo cargado. Al establecer el parámetro en (por ejemplo) ../usr/share/horde/static/bd.php, se puede escribir un backdoor PHP dentro de la web root. La carpeta de destino static/ es un buen candidato para abandonar la backdoor y siempre se puede escribir en las instalaciones Horde. (El parámetro POST no saneado probablemente pasó desapercibido porque nunca fue enviado a los formularios, que de forma predeterminada utilizan una path aleatoria).

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
Single
Confidentiality
Partial
Integrity
Partial
Availability
Partial
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2019-03-18 CVE Reserved
  • 2019-04-10 CVE Published
  • 2024-08-04 CVE Updated
  • 2024-08-04 First Exploit
  • 2024-10-19 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Horde
Search vendor "Horde"
Groupware
Search vendor "Horde" for product "Groupware"
5.2.17
Search vendor "Horde" for product "Groupware" and version "5.2.17"
webmail
Affected
Horde
Search vendor "Horde"
Groupware
Search vendor "Horde" for product "Groupware"
5.2.22
Search vendor "Horde" for product "Groupware" and version "5.2.22"
webmail
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
8.0
Search vendor "Debian" for product "Debian Linux" and version "8.0"
-
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
9.0
Search vendor "Debian" for product "Debian Linux" and version "9.0"
-
Affected