The vulnerability is an IDOR combined with a wrong authorization level in the Express association Reorder dialog in Concrete CMS. The analysis of the patch between version 9.5.0 and 9.5.1 revealed the vulnerable functions and the fixes.
The patch f22b9dff59454391a50a255a39995bf635deea9e addresses these issues in concrete/controllers/dialog/express/association/reorder.php.
-
Wrong Authorization Level: The canAccess() function was changed to require canEditExpressEntry permissions instead of the weaker canViewExpressEntry. This corrects the authorization check, preventing users with only view permissions from performing a modification action.
-
IDOR: The submit() function was modified to validate that the entries being reordered are part of the correct association. Before the patch, the function trusted the user-supplied list of entries, allowing an attacker to reorder entries in other, unrelated Express objects. The added validation loop ensures that only entries belonging to the current association are modified, thus fixing the IDOR vulnerability.
Additionally, the submit function was also patched to include a CSRF token validation (if ($this->validateAction())), fixing a separate CSRF vulnerability (CVE-2026-8415) in the same component.