1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-23 03:59:25 +01:00
phorge-phorge/src/applications/policy
epriestley faaaff0b6f Fix an error in the PolicyFilter algorithm
Summary:
`PhabricatorPolicyFilter` has a bug right now where it lets through objects incorrectly if:

  - the query requests two or more policies;
  - the object satisfies at least one of those policies; and
  - policy exceptions are not enabled.

This would be bad, but there's only one call in the codebase which satisfies all of these conditions, in the Maniphest batch editor. And it's moot anyway because edit operations get another policy check slightly later. So there is no policy/security impact from this flaw.

(The next diff relies on this behavior, which is how I caught it.)

Test Plan:
  - Added a failing unit test and made it pass.
  - Grepped the codebase for `requireCapabilities()` and verified that there is no security impact. Basically, 99% of callsites use `executeOne()`, which throws anyway and moots the filtering.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D7721
2013-12-05 17:00:53 -08:00
..
__tests__ Fix an error in the PolicyFilter algorithm 2013-12-05 17:00:53 -08:00
application Prepare the policy rule edit endpoint for integration 2013-10-14 12:07:31 -07:00
capability Allow "Default View" policies to be set to Public 2013-10-09 15:06:18 -07:00
config Move policy config to "Policy" app and make policy.allow-public description scarier 2013-09-27 10:50:19 -07:00
constants Passphrase v0 2013-11-20 09:13:35 -08:00
controller Harbormaster v(-2) 2013-10-22 15:01:06 -07:00
exception Allow applications to define new policy capabilities 2013-10-07 13:28:58 -07:00
filter Fix an error in the PolicyFilter algorithm 2013-12-05 17:00:53 -08:00
interface Work around a bug in PHP 5.3-ish with abstract methods in interfaces 2013-10-25 15:58:17 -07:00
management Allow applications to define new policy capabilities 2013-10-07 13:28:58 -07:00
phid Lock policy queries to their applications 2013-10-21 17:20:27 -07:00
query Lock policy queries to their applications 2013-10-21 17:20:27 -07:00
rule Allow "Custom" policies to be selected in the policy control 2013-10-14 16:59:16 -07:00
storage Passphrase v0 2013-11-20 09:13:35 -08:00