Page MenuHomePhabricator

Correct overbroad automatic capability grant of global settings objects
ClosedPublic

Authored by epriestley on May 9 2022, 10:10 PM.
Tags
None
Referenced Files
F15452516: D21811.id51988.diff
Sat, Mar 29, 5:28 AM
F15452508: D21811.id51987.diff
Sat, Mar 29, 5:24 AM
F15452502: D21811.id.diff
Sat, Mar 29, 5:21 AM
F15439325: D21811.diff
Wed, Mar 26, 7:00 AM
F15434614: D21811.diff
Tue, Mar 25, 4:40 AM
F15414998: D21811.id.diff
Thu, Mar 20, 3:28 AM
F15391790: D21811.id51988.diff
Sat, Mar 15, 11:37 AM
F15391787: D21811.id51987.diff
Sat, Mar 15, 11:37 AM
Subscribers
None

Details

Summary

Ref T13679. In D16983, global settings objects were given an exception to let logged-out users see them, even on installs with no "public" user role.

This exception is too broad and grants everyone all capabilities, not just "CAN_VIEW". In particular, it incorrectly grants "CAN_EDIT", so any user can edit global settings defaults.

Restrict this grant to "CAN_VIEW".

Test Plan
  • As a non-administrator, tried to edit global settings.
  • Before: could.
  • After: could not.

Diff Detail

Repository
rP Phabricator
Branch
settings1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 25708
Build 35536: arc lint + arc unit