Repository navigation
Fix Extension Management permission validation - #12386
PooyaKharamesh wants to merge 4 commits into
Conversation
Backport the corrected permission-set checks and regression tests, including the namespace and test compilation repairs from Bug 651703. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Maria Zhelezova (mazhelez)
left a comment
There was a problem hiding this comment.
Verified that this backport contains the same Extension Management authorization-hardening change as the reviewed main PR #12417 (identical production code; equivalent tests). Approving.
Maria Zhelezova (mazhelez)
left a comment
There was a problem hiding this comment.
Reviewed against the main PR #12417 (which I reviewed in full). The production/shipping changes in this backport are identical to main; the only differences are cosmetic whitespace and per-branch test-harness structure. Approving.
Good Sense Reviewer - Round 1Recommendation: Accept with SuggestionsWhat this PR doesThis change replaces the Problem-solution fitFit: Strong The authorization change matches the reported missing permission validation and addresses the root cause. Direct administrator, SUPER, non-administrator, and company-scoped cases confirm the intended boundaries. SuggestionsS1 (🟠 Moderate): Cover inherited administrator permission paths Risk assessment and necessityRisk: This is a security-sensitive authorization path. The direct permission cases are covered, but standard containing roles depend on effective permission resolution that the new tests do not exercise. Necessity: Read access to application metadata does not prove authority to install, uninstall, or otherwise manage tenant extensions. Replacing that proxy with the dedicated administrator permission is required.
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
a1ff5c7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Good Sense Reviewer - Round 2Recommendation: Accept with SuggestionsWhat this PR doesThe new commits repair the test harness by using a manual subscriber, binding it before extension lifecycle tests, and correcting test codeunit variables and ordering. These changes keep the production authorization logic unchanged and make the test-only bypass active only where the existing install and uninstall tests need it. Status of previous suggestions
New observations (commits since round 1)None - the changes only repair the test harness and do not introduce a new issue. Risk assessment and necessityRisk: The production check remains targeted: it accepts SUPER or the effective system-scoped extension administrator permission for the current app and rejects company-scoped assignments. The direct-assignment tests still do not exercise permission inherited through Necessity: Replacing application-metadata read access as the authorization proxy is required because metadata access does not grant authority to manage tenant extensions. The new test-harness changes are also needed so existing extension lifecycle tests can run without changing platform user records.
|
Pull request was closed
Fixes missing permission validation in Extension Management.
Related to AB#648158