Skip to content

Commit b135384

Browse files
committed
1 parent a05fd39 commit b135384

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
- Fixed a bug where cross-site validation errors weren’t preventing elements from getting saved. ([#18292](https://github.com/craftcms/cms/issues/18292))
1919
- Fixed a bug where failure messages when pasting elements weren’t getting displayed properly.
2020
- Fixed a bug where `craft\helpers\UrlHelper::cpReferralUrl()` was returning the referrer URL even if it had the same URI as the current page. ([#18483](https://github.com/craftcms/cms/pull/18483))
21+
- Fixed a [moderate-severity](https://github.com/craftcms/cms/security/policy#severity--remediation) authorization bypass vulnerability. (GHSA-jq2f-59pj-p3m3)
2122

2223
## 5.9.14 - 2026-02-25
2324

src/controllers/UsersController.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,6 +1261,10 @@ public function actionSavePermissions(): Response
12611261
{
12621262
$this->requireCpRequest();
12631263

1264+
if (!$this->showPermissionsScreen()) {
1265+
throw new ForbiddenHttpException('User not authorized to perform this action.');
1266+
}
1267+
12641268
$currentUser = static::currentUser();
12651269
$user = $this->editedUser((int)$this->request->getRequiredBodyParam('userId'));
12661270

@@ -2784,6 +2788,10 @@ private function _saveUserPermissions(User $user, User $currentUser): void
27842788
*/
27852789
private function _saveUserGroups(User $user, User $currentUser): void
27862790
{
2791+
if (!$currentUser->canAssignUserGroups()) {
2792+
return;
2793+
}
2794+
27872795
$groupIds = $this->request->getBodyParam('groups');
27882796

27892797
if ($groupIds === null) {

0 commit comments

Comments
 (0)