Closed (fixed)
Project:
AI +
Version:
1.0.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
10 Jun 2026 at 01:12 UTC
Updated:
24 Jun 2026 at 01:25 UTC
Jump to comment: Most recent
AI tools and deferred processors execute under the current user's permissions, but several request paths trusted client-supplied data and relied on route-level access rather than entity-level access. The current page path, element selections and view mode all ride in the DeepChat / refresh request body, and route access (for example the Edit Mode permission) is not a proxy for view or update access on a specific entity.
To keep the assistant from surfacing or changing anything the browsing user could not reach directly, the read and refresh paths should gate on that user's access rather than on the route alone.
RouteEntityResolver and ElementSelectionResolver only surface an entity as prompt context when the current user may view it; otherwise the selection is dropped rather than leaking its label through the prompt.entity.update, and the controllers reject an invalid client-supplied view mode the same way navigation_plus validates an Edit Mode load (BadRequestHttpException) so the deferred render path behaves identically to a normal load.ai_plus.* convention, keeping class-name aliases for back-compatibility.ai_plus.refresh_components, ai_plus.deferred_processing and ai_plus.deferred_retry gain _entity_access: 'entity.update'.DeferredProcessingController and RefreshComponentsController gain a NavigationPlusUi dependency and validate the client-supplied view mode before rendering.RouteEntityResolver and ElementSelectionResolver gain a BlueprintAccessChecker dependency (from entity_blueprint) for the view check.ai_plus.route_entity_resolver, ai_plus.element_selection_resolver, ai_plus.ui_command_queue and ai_plus.page_refresh_commands, each aliased from its class name; the explicit SettingsFormAlter service definition is dropped in favour of hook autodiscovery.
Comments
Comment #3
tim bozeman commented