GHSA-xpff-c35g-j3cr
silverstripe/framework Privilege Escalation Risk in Member Edit form
- Severity
- 6.5 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- —
- No score published
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-268 Privilege Chaining
- Fix
3.5.8- Upgrade silverstripe/framework to this version or later
Description
A member with the permission EDIT_PERMISSIONS and access to the "Security" section is able to re-assign themselves (or another member) to ADMIN level.
CMS Fields for the member are constructed using DirectGroups instead of Groups relation which results in bypassing security logic preventing privilege escalation.
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| silverstripe/framework | >= 3.5.7-rc1, < 3.5.8 |
3.5.8 |
| silverstripe/framework | >= 3.6.0-rc1, < 3.6.6 |
3.6.6 |
| silverstripe/framework | >= 4.0.0-rc1, < 4.0.4 |
4.0.4 |
| silverstripe/framework | >= 4.1.0-rc1, < 4.1.1 |
4.1.1 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
silverstripe/framework Packagist → 3.5.8
- composer
composer require silverstripe/framework:^3.5.8
Severity breakdown
CVSS 3.1 6.5
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Weakness
CWE-268: Privilege Chaining
Two distinct privileges, roles, capabilities, or rights can be combined in a way that allows an entity to perform unsafe actions that would not be allowed without that combination.
How to prevent it
- Architecture and Design: Consider following the principle of separation of privilege. Require multiple conditions to be met before permitting access to a system resource.
- Architecture and Design, Operation: Very carefully manage the setting, management, and handling of privileges. Explicitly manage trust zones in the software.
- Architecture and Design, Operation: Run your code using the lowest privileges that are required to accomplish the necessary tasks [REF-76]. If possible, create isolated accounts with limited privileges that are only used for a single task. That way, a successful attack will not immediately give the attacker access to the rest of the software or its environment. For example, database applications rarely need to run as the database administrator, especially in day-to-day operations.
References
Packages
Other links
Timeline
- Published
- Last updated by the source
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-gvrw-qqp5-jgc5 Silverstripe Framework: Possible XSS attack through media embed | Medium | Also affects silverstripe/framework |
| GHSA-256q-hx8w-xcqx Silverstripe Framework user enumeration via timing attack on login and password reset forms | Medium | Also affects silverstripe/framework |
| GHSA-rhx4-hvx9-j387 Silverstripe Framework has a XSS vulnerability in HTML editor | Medium | Also affects silverstripe/framework |
| GHSA-74j9-xhqr-6qv3 Reflected Cross Site Scripting (XSS) in error message | Low | Also affects silverstripe/framework |
| GHSA-mqf3-qpc3-g26q Silverstripe Framework has a Reflected Cross Site Scripting (XSS) in error message | Low | Also affects silverstripe/framework |
| GHSA-ff6q-3c9c-6cf5 Silverstripe Framework has a XSS in form messages | Medium | Also affects silverstripe/framework |
| GHSA-7cmp-cgg8-4c82 Silverstripe Framework has a XSS via insert media remote file oembed | Medium | Also affects silverstripe/framework |
| GHSA-52cw-pvq9-9m5v Silverstripe uses TinyMCE which allows svg files linked in object tags | Medium | Also affects silverstripe/framework |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor