CVE-2023-49783
No permission checks for editing/deleting records with CSV import form
Silverstripe Admin provides a basic management interface for the Silverstripe Framework. In versions on the 1.x branch prior to 1.13.19 and on the 2.x branch prior to 2.1.8, 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 likelihood 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. Versions 1.13.19 and 2.1.8 contain a patch for the issue. Those who have a custom implementation of BulkLoader should update their implementations to respect permissions when the return value of getCheckPermissions() is true. Those who use any BulkLoader in their own project logic, or maintain a module which uses it, should consider passing true to setCheckPermissions() if the data is provided by users.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.3
No permission checks for editing/deleting records with CSV import form
Silverstripe Admin provides a basic management interface for the Silverstripe Framework. In versions on the 1.x branch prior to 1.13.19 and on the 2.x branch prior to 2.1.8, 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 likelihood 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. Versions 1.13.19 and 2.1.8 contain a patch for the issue. Those who have a custom implementation of BulkLoader should update their implementations to respect permissions when the return value of getCheckPermissions() is true. Those who use any BulkLoader in their own project logic, or maintain a module which uses it, should consider passing true to setCheckPermissions() if the data is provided by users.
- Record
CVE-2023-49783- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
EUVDEUVD-2024-0373
4.3
Silverstripe Admin provides a basic management interface for the Silverstripe Framework. In versions on the 1.x branch prior to 1.13.19 and on the 2.x branch prior to 2.1.8, 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 likelihood 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. Versions 1.13.19 and 2.1.8 contain a patch for the issue. Those who have a custom implementation of BulkLoader should update their implementations to respect permissions when the return value of getCheckPermissions() is true. Those who use any BulkLoader in their own project logic, or maintain a module which uses it, should consider passing true to setCheckPermissions() if the data is provided by users.
- Record
EUVD-2024-0373- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-j3m6-gvm8-mhvw
4.3
No permission checks for editing/deleting records with CSV import form
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
- Record
GHSA-j3m6-gvm8-mhvw- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
NVD
4.3
Silverstripe Admin provides a basic management interface for the Silverstripe Framework. In versions on the 1.x branch prior to 1.13.19 and on the 2.x branch prior to 2.1.8, 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 likelihood 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. Versions 1.13.19 and 2.1.8 contain a patch for the issue. Those who have a custom implementation of BulkLoader should update their implementations to respect permissions when the return value of getCheckPermissions() is true. Those who use any BulkLoader in their own project logic, or maintain a module which uses it, should consider passing true to setCheckPermissions() if the data is provided by users.
- Record
CVE-2023-49783- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSV
4.3
No permission checks for editing/deleting records with CSV import form
Silverstripe Admin provides a basic management interface for the Silverstripe Framework. In versions on the 1.x branch prior to 1.13.19 and on the 2.x branch prior to 2.1.8, 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 likelihood 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. Versions 1.13.19 and 2.1.8 contain a patch for the issue. Those who have a custom implementation of BulkLoader should update their implementations to respect permissions when the return value of getCheckPermissions() is true. Those who use any BulkLoader in their own project logic, or maintain a module which uses it, should consider passing true to setCheckPermissions() if the data is provided by users.
- Record
CVE-2023-49783- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSVGHSA-j3m6-gvm8-mhvw
4.3
No permission checks for editing/deleting records with CSV import form
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
- Record
GHSA-j3m6-gvm8-mhvw- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
silverstripe/adminPackagist |
1.0.0 up to 1.13.19 | 1.13.19 |
silverstripe/adminPackagist |
2.0.0 up to 2.1.8 | 2.1.8 |
silverstripe/adminPackagist |
1.0.0 up to 1.13.19, plus listed versions 1.0.11.0.1-rc11.0.21.0.31.0.4 Show 45 moreShow less1.0.51.0.61.0.71.1.01.1.0-rc11.1.0-rc21.1.11.1.21.1.31.1.41.1.51.10.01.10.0-beta11.10.0-rc11.10.11.10.21.10.31.10.41.11.01.11.0-beta11.11.0-rc11.11.11.11.21.11.31.12.01.12.0-beta11.12.0-rc11.12.11.12.21.12.31.12.41.12.51.12.61.12.71.13.01.13.0-beta11.13.0-rc11.13.11.13.101.13.111.13.121.13.131.13.141.13.151.13.16 |
1.13.19 |
silverstripe/adminPackagist |
2.0.0 up to 2.1.8, plus listed versions 2.0.12.0.102.0.112.0.122.0.13 Show 18 moreShow less2.0.22.0.32.0.42.0.52.0.62.0.72.0.82.0.92.1.02.1.0-beta12.1.0-rc12.1.12.1.22.1.32.1.42.1.52.1.62.1.7 |
2.1.8 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-49783 is a medium vulnerability (CVSS 4.3) in Silverstripe Admin, published January 23, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. Fixed in silverstripe/admin 1.13.19.
References
github.com/silverstripe/silverstripe-admin/security/advisories/GHSA-j3m6-gvm8-mhvw
silverstripe.org/download/security-releases/CVE-2023-49783
nvd.nist.gov/vuln/detail/CVE-2023-49783
github.com/silverstripe-security/security-issues/issues/177
github.com/silverstripeltd/product-issues/issues/832
github.com/silverstripe/silverstripe-admin/commit/9693130a0a637cdf512277cf5f07e83250b191db
Left out here: 60 versions. The JSON record has them.