CVE-2026-71292
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Summary
Subrion CMS's admin grid sorting helper, _gridGetSorting() in includes/classes/ia.base.controller.admin.php, whitelists the dir (ASC/DESC) request parameter via in_array(), but falls back to the raw, attacker-supplied sort GET parameter whenever the requested key is not present in the per-controller $_gridSorting whitelist array: $column = isset($this->_gridSorting[$params['sort']]) ? ... : $params['sort'];, which is then placed into sprintf(' ORDER BY %s%s %s', $tableAlias, $column, $direction) with only backtick-quoting and no escaping. Because a backtick in the payload breaks out of the identifier context, an authenticated admin session can inject arbitrary SQL (error-based via EXTRACTVALUE, or time-based via SLEEP()) to extract database contents including administrator password hashes. Most of Subrion's ~29 admin grid controllers either define no $_gridSorting whitelist at all (e.g. pages.php, transactions.php, languages.php) or an incomplete one covering only some of their sortable columns (e.g. members.php whitelists only 1 of 7 sortable fields), making the vast majority of admin grid endpoints exploitable.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| intelliants | subrion | 0 <= 4.2.1 | affected |
Weaknesses
- CWE-89: CWE-89
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: total
References
- https://github.com/intelliants/subrion
- https://github.com/intelliants/subrion/blob/master/includes/classes/ia.base.controller.admin.php
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.