No permission checks for editing/deleting records with CSV import form
Published 23 Jan 2024 · Updated 16 Feb 2024
Affected packages
- Affected
- >=1.0.0 <1.13.19
- Fixed in
- 1.13.19
composer require silverstripe/admin:^1.13.19- Affected
- >=2.0.0 <2.1.8
- Fixed in
- 2.1.8
composer require silverstripe/admin:^2.1.8Details
Impact
Users who don't have edit or delete permissions for records exposed in a ModelAdmin can still edit or delete records using the CSV import form, provided they have create permissions.
The likelyhood of a user having create permissions but _not_ having edit or delete permissions is low, but it _is_ possible.
Note that this doesn't affect any ModelAdmin which has had the import form disabled via the `showImportForm` public property, nor does it impact the SecurityAdmin section.
Action may be required
If you have a custom implementation of `BulkLoader`, you should update your implementation to respect permissions when the return value of `getCheckPermissions()` is true.
If you are using any BulkLoader in your own project logic, or maintain a module which uses it, you should consider passing true to `setCheckPermissions()` if the data is provided by users.
Base CVSS: 4.3 Reported by: Guy Sartorelli from Silverstripe
References
- https://www.silverstripe.org/download/security-releases/CVE-2023-49783
Is GHSA-j3m6-gvm8-mhvw in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected silverstripe/admin, and gives you the command that fixes it.
References
- Linkgithub.com/silverstripe/silverstripe-admin/security/advisories/GHSA-j3m6-gvm8-mhvw
- Advisorynvd.nist.gov/vuln/detail/CVE-2023-49783
- Linkgithub.com/silverstripe-security/security-issues/issues/177
- Linkgithub.com/silverstripeltd/product-issues/issues/832
- Linkgithub.com/silverstripe/silverstripe-admin/commit/9693130a0a637cdf512277cf5f07e83250b191db
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/admin/CVE-2023-49783.yaml
- Packagegithub.com/silverstripe/silverstripe-admin
- Linkwww.silverstripe.org/download/security-releases/CVE-2023-49783
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.