arbitrary file read in pimcore/pimcore

Valid

Reported on

Mar 27th 2023


Description

An authenticated attacker can abuse import-server-files with a path traversal to download an arbitrary file from the server

Collaborator: @ub3rsick

Proof of Concept

  1. 1- to trigger the request for SSRF: go to files -> assets -> select a folder -> right click -> add asset -> import from server
  2. 2- pick any folder then replay the request to /admin/asset/import-server-files, set the serverPath to /../../../../../../../../etc/ and files to passwd for example to download /etc/passwd file
  3. 3- the response of the request will be saved into a file that can be found in public web directory under /var/assets/path/to/folder/localhost
  4. 4- passwd file obtained from the file read in the demo instance: https://demo.pimcore.fun/var/assets/q/passwd
  5. 5- env file obtained from the demo instance https://demo.pimcore.fun/var/assets/q/env.local

proof of concent 2

  1. https://demo.pimcore.fun/admin/misc/fileexplorer-content?path=/.env.local

Impact

An arbitrary file read vulnerability allows an attacker to read files on the server that they should not have access to, potentially including sensitive files such as configuration files, user data, and credentials. This can result in the exposure of confidential information, which can be used to launch further attacks or compromise the system.

We are processing your report and will contact the pimcore team within 24 hours. 2 months ago
rekter0 modified the report
2 months ago
pimcore/pimcore maintainer has acknowledged this report 2 months ago
Bernhard Rusch modified the Severity from High (7.6) to Medium (5.5) a month ago
The researcher has received a minor penalty to their credibility for miscalculating the severity: -1
Bernhard Rusch validated this vulnerability a month ago
rekter0 has been awarded the disclosure bounty
The fix bounty is now up for grabs
The researcher's credibility has increased: +7
Divesh Pahuja marked this as fixed in 10.5.21 with commit 498cad a month ago
The fix bounty has been dropped
This vulnerability has been assigned a CVE
Divesh Pahuja published this vulnerability a month ago
to join this conversation