bug: PostsController missing ACL checks on queue management actions #224
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Four actions in
PostsControllerhave CSRF token checks but are missing ACL authorization checks. Any admin user with basic component access can manipulate the post queue without themokosuitecross.queue.managepermission.Affected Actions
File:
source/packages/com_mokosuitecross/src/Controller/PostsController.phppurgePosted()mokosuitecross.queue.manageretryFailed()mokosuitecross.queue.manageretrySelected()mokosuitecross.queue.manageschedule()mokosuitecross.queue.manageAll four correctly call
$this->checkToken()for CSRF protection but do not verify the user has themokosuitecross.queue.managepermission defined inaccess.xml.Comparison
Other controllers properly enforce ACL:
PostsController::exportCsv()checksmokosuitecross.queue.export(line 164)ServicesController::publish()checkscore.edit.state(line 27)ServicesController::delete()checkscore.delete(line 36)DashboardController::migrate()checksmokosuitecross.migrate(line 33)Fix
Add ACL check after
$this->checkToken()in each method:Branch created:
feature/224-bug-postscontroller-missing-acl-checks-o