GHSA-p5h2-vr99-xm99 json
silverstripe/framework ChangePasswordForm does not check `Member::canLogIn()`
published 2y ago modified last yr.
- cvss
- 4.3
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- packagist silverstripe/framework 3.1.20, 3.2.5, 3.3.3, 3.4.1
Is GHSA-p5h2-vr99-xm99 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | silverstripe/framework | >=3.1.19-rc1, <3.1.20 >=3.2.4-rc1, <3.2.5 >=3.3.2-rc1, <3.3.3 >=3.4.0-rc1, <3.4.1 |
3.1.20 3.2.5 3.3.3 3.4.1 |
Classification
- Weakness
-
- CWE-287 Improper Authentication
References
-
github.com
/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442
web
-
github.com
/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec
web
-
github.com
/silverstripe/silverstripe-framework/commit/6d41db77fa78f473db7bcff389456c980ef4e412
web
-
github.com
/silverstripe/silverstripe-framework/commit/782c18fd13b9fb92707d0ea3b231023204928297
web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/silverstripe/framework/SS-2016-011-1.yaml
web
-
github.com
/silverstripe/silverstripe-framework
package
-
silverstripe.org
/download/security-releases/ss-2016-011
web
Sources
- GitHub Advisory GHSA-p5h2-vr99-xm99
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.