GHSA-p5h2-vr99-xm99
silverstripe/framework ChangePasswordForm does not check `Member::canLogIn()`
After performing a password reset, 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.
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
What each source reports
GitHub Advisories Score used 4.3
silverstripe/framework ChangePasswordForm does not check `Member::canLogIn()`
After performing a password reset, 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.
- Record
GHSA-p5h2-vr99-xm99- 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-287
- Updated
- 2026-11-02
OSV 4.3
silverstripe/framework ChangePasswordForm does not check `Member::canLogIn()`
After performing a password reset, 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.
- Record
GHSA-p5h2-vr99-xm99- 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-287
- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
silverstripe/frameworkPackagist | 3.1.19-rc1 up to 3.1.20 | 3.1.20 |
silverstripe/frameworkPackagist | 3.2.4-rc1 up to 3.2.5 | 3.2.5 |
silverstripe/frameworkPackagist | 3.3.2-rc1 up to 3.3.3 | 3.3.3 |
silverstripe/frameworkPackagist | 3.4.0-rc1 up to 3.4.1 | 3.4.1 |
silverstripe/frameworkPackagist | 3.1.19-rc1 up to 3.1.20, plus listed versions 3.1.193.1.20-rc13.1.20-rc2 | 3.1.20 |
silverstripe/frameworkPackagist | 3.2.4-rc1 up to 3.2.5, plus listed versions 3.2.43.2.5-rc13.2.5-rc2 | 3.2.5 |
silverstripe/frameworkPackagist | 3.3.2-rc1 up to 3.3.3, plus listed versions 3.3.23.3.3-rc13.3.3-rc2 | 3.3.3 |
silverstripe/frameworkPackagist | 3.4.0-rc1 up to 3.4.1, plus listed versions 3.4.03.4.1-rc13.4.1-rc2 | 3.4.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-p5h2-vr99-xm99 is a medium vulnerability (CVSS 4.3) in silverstripe/framework, published May 27, 2024. No source lists public exploit code. Fixed in silverstripe/framework 3.1.20.
References
github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442
github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec
github.com/silverstripe/silverstripe-framework/commit/6d41db77fa78f473db7bcff389456c980ef4e412
github.com/silverstripe/silverstripe-framework/commit/782c18fd13b9fb92707d0ea3b231023204928297
github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/framework/SS-2016-011-1.yaml
silverstripe.org/download/security-releases/ss-2016-011
github.com/advisories/GHSA-p5h2-vr99-xm99
github.com/silverstripe/silverstripe-framework