CVE-2023-48714: Restricted Record Titles Exposure in silverstripe/framework
Summary
CVE-2023-48714: Record titles for restricted records can be viewed if exposed by GridFieldAddExistingAutocompleter. Affects silverstripe/framework across 2 version ranges.
< 4.13.39
>= 5.0.0, < 5.1.11
Fixed in 4.13.39 or 5.1.11, depending on the release line you run. 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
silverstripe/framework is a PHP framework used for building websites and web applications. It provides a range of features and functionalities to developers, including a GridField component for managing and displaying data in a tabular format. This vulnerability affects versions 0.0.0 to 4.13.39 and 5.0.0 to 5.1.11 of the framework. The vulnerability allows users to view the titles of restricted records if they are exposed by the GridFieldAddExistingAutocompleter component.
Vulnerability Detail
The vulnerability arises when a user who should not have access to a particular record is able to add it to a GridField using the GridFieldAddExistingAutocompleter component. In such cases, the user can access the title of the restricted record, even though they should not have visibility into its content. This can potentially lead to unauthorized access to sensitive information. The vulnerability has a CVSS score of 4.3, indicating a moderate severity level.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
< 4.13.394.13.39composer require silverstripe/framework:4.13.39 -
>= 5.0.0, < 5.1.115.1.11composer require silverstripe/framework:5.1.11
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
As a temporary workaround, developers can modify the GridFieldAddExistingAutocompleter component to enforce stricter access controls. This can be achieved by customizing the component's code to check the user's permissions before allowing the addition of a record to the GridField. By explicitly denying access to restricted records, the workaround prevents their titles from being exposed. Here is an example of how the code modification can be implemented:
// Customized GridFieldAddExistingAutocompleter component
class CustomGridFieldAddExistingAutocompleter extends GridFieldAddExistingAutocompleter {
protected function getSearchList(GridField $gridField, $searchCriteria) {
$list = parent::getSearchList($gridField, $searchCriteria);
// Check user's permissions and exclude restricted records
$list = $list->exclude('Restricted', true);
return $list;
}
}
By using this workaround, the exposure of restricted record titles can be mitigated until the framework is updated.
Conclusion
The vulnerability in silverstripe/framework allows users to view the titles of restricted records if exposed by the GridFieldAddExistingAutocompleter component. To mitigate this issue, it is recommended to upgrade to the latest version of the framework. A temporary workaround is also available by customizing the component's code to enforce stricter access controls. For further assistance and support in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for silverstripe/framework →
FAQ
The vulnerability allows users with restricted access to view the titles of records that they should not have visibility into. This can potentially lead to unauthorized access to sensitive information.
Versions 0.0.0 to 4.13.39 and 5.0.0 to 5.1.11 of silverstripe/framework are affected by this vulnerability.
To fix this vulnerability, it is recommended to upgrade to the latest version of silverstripe/framework. For versions 0.0.0 to 4.13.39, upgrade to version 4.13.39 or later. For versions 5.0.0 to 5.1.11, upgrade to version 5.1.11 or later.
Yes, a temporary workaround is to customize the GridFieldAddExistingAutocompleter component to enforce stricter access controls. By modifying the component's code to exclude restricted records, their titles can be prevented from being exposed.
The CVSS score of this vulnerability is 4.3, indicating a moderate severity level.
References
Related vulnerabilities
Recent vulnerabilities recorded for silverstripe/framework.