CVE-2024-21667: Pimcore Customer Data Framework Improper Access Control
Summary
CVE-2024-21667: An authenticated and unauthorized user can access the GDPR data extraction feature and query over the information returned, leading to customer data exposure. Affects pimcore/customer-management-framework-bundle versions < 4.0.6. Fixed in 4.0.6. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Pimcore Customer Data Framework is a package that provides functionality for managing customer data in the Pimcore administration panel. It allows administrators to store and query customer information, including personally identifiable information (PII). However, a vulnerability has been discovered in the framework that allows an authenticated and unauthorized user to access the GDPR data extraction feature and query the returned information, leading to customer data exposure.
Vulnerability Detail
The vulnerability arises from the lack of enforcement of permissions when accessing the /admin/customermanagementframework/gdpr-data/search-data-objects endpoint. Even users without the necessary permissions can access the endpoint and query the available data. This issue can be traced to a specific code location in the GDPRDataController.php file of the Customer Data Framework. As a result, an unauthorized user can access PII data from customers without proper authorization, potentially violating data protection regulations such as GDPR.
How To Fix
Minimum fixed version
4.0.6
This is the first release that contains the fix.
composer require pimcore/customer-management-framework-bundle:4.0.6
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, administrators can manually enforce access control by modifying the code in the GDPRDataController.php file. Specifically, the access control check should be added at the mentioned code location to ensure that only users with the appropriate permissions can access the GDPR data extraction feature. Here is an example of how the code modification can be done:
// Add the following code snippet at line 38 of GDPRDataController.php
if (!$this->isGranted('ROLE_ADMIN')) {
throw $this->createAccessDeniedException('Access Denied.');
}
Please note that this workaround is not recommended as it involves modifying the core framework code, which can introduce maintenance and compatibility issues. It is strongly advised to apply the official fix by updating to the latest version of the framework.
Conclusion
The Pimcore Customer Data Framework is vulnerable to improper access control, allowing unauthorized users to access and query customer data. To mitigate this vulnerability, it is crucial to update the framework to version 4.0.6 or later, which includes the necessary access control enforcement. Administrators can also apply a temporary workaround by manually modifying the code, but this is not recommended due to potential maintenance and compatibility issues. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for pimcore/customer-management-framework-bundle →
FAQ
The vulnerability allows an unauthorized user to access PII data from customers without proper authorization. This can lead to a breach of data protection regulations and compromise the privacy and security of customer information.
You can use the Vulert Playground (https://vulert.com/scanner) to check if your Pimcore installation is affected by this vulnerability. Simply upload your composer.lock file to the playground, and it will analyze the dependencies and alert you if any vulnerabilities, including this one, are found.
Yes, a fix is available for this vulnerability. It is recommended to update the Pimcore Customer Data Framework to version 4.0.6 or later to address the issue. The official fix includes the necessary access control enforcement to prevent unauthorized access to the GDPR data extraction feature.
Yes, a temporary workaround is available, but it is not recommended. Administrators can manually enforce access control by modifying the code in the GDPRDataController.php file. However, this workaround involves modifying the core framework code, which can introduce maintenance and compatibility issues. It is strongly advised to apply the official fix by updating to the latest version of the framework.
You can find more information about the Pimcore Customer Data Framework on the official Pimcore website (https://pimcore.com). The website provides documentation, tutorials, and community support for the framework.
References
Related vulnerabilities
Recent vulnerabilities recorded for pimcore/customer-management-framework-bundle.