GHSA-55qg-6c4m-mw6g
silverstripe/framework's URL parameters `isDev` and `isTest` unguarded
- Severity
- 6.5 / 10
- Medium · CVSS 3.1
- Exploit chance (EPSS)
- —
- No score published
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
- Fix
4.0.4- Upgrade silverstripe/framework to this version or later
Description
The URL parameters isDev and isTest are accessible to unauthenticated users who access a SilverStripe website or application. This allows unauthorised users to expose information that is usually hidden on production environments such as verbose errors (including backtraces) and other debugging tools only available to sites running in "dev mode". Core functionality does not expose user data through these methods. Depending on your website configuration, community modules might have added more specific functionality which can be used to either access or alter user data.
We have fixed the usage of isDev and isTest in SilverStripe 4.x, and removed the URL parameters in the next major release of SilverStripe.
Affected versions
Packagist
| Package | Vulnerable | Fixed in |
|---|---|---|
| silverstripe/framework | >= 4.0.0-rc1, < 4.0.4 |
4.0.4 |
| silverstripe/framework | >= 4.1.0rc1, < 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 → 4.0.4
- composer
composer require silverstripe/framework:^4.0.4
Severity breakdown
CVSS 3.1 6.5
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Weakness
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
How to prevent it
- Architecture and Design: Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.
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