GHSA-p5h2-vr99-xm99 silverstripe/framework ChangePasswordForm does not check `Member::canLogIn()`
Attackers can bypass login restrictions by resetting passwords for users denied access via custom logic, affecting SilverStripe sites using Member::canLogIn() extensions.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is GHSA-p5h2-vr99-xm99?
GHSA-p5h2-vr99-xm99 is an authentication bypass vulnerability in silverstripe/framework, published on 27 May 2024. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
ChangePasswordForm::doChangePassword() logs in the user without checking Member::canLogIn(). This presents an issue for sites that are using the extension point in that method to deny access to users (for example members that have not been “approved”, or members that have had their access revoked temporarily). It looks like Member::canLogIn() was originally designed to only be used for checking whether the user is locked out (due to too many incorrect login attempts) but has been opened up to other uses.Which versions are affected by GHSA-p5h2-vr99-xm99?
8 open source packages ship an affected version, including silverstripe/framework.
| Package | Affected | Fixed in |
|---|---|---|
silverstripe/framework Packagist | From 3.1.19-rc1 | 3.1.20 |
silverstripe/framework Packagist | From 3.1.19-rc1 | 3.1.20 |
silverstripe/framework Packagist | From 3.2.4-rc1 | 3.2.5 |
silverstripe/framework Packagist | From 3.2.4-rc1 | 3.2.5 |
silverstripe/framework Packagist | From 3.3.2-rc1 | 3.3.3 |
silverstripe/framework Packagist | From 3.3.2-rc1 | 3.3.3 |
2 more packages
silverstripe/framework Packagist | From 3.4.0-rc1 | 3.4.1 |
silverstripe/framework Packagist | From 3.4.0-rc1 | 3.4.1 |
How do I fix GHSA-p5h2-vr99-xm99?
Upgrade silverstripe/framework to a fixed version for your release line: 3.1.20, 3.2.5, 3.3.3 or 3.4.1.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is GHSA-p5h2-vr99-xm99 being exploited?
There is no known exploitation of GHSA-p5h2-vr99-xm99 in the wild and no public exploit code.