CVE-2026-71292 PUBLISHED

Subrion CMS Admin Grid SQL Injection via Unwhitelisted ORDER BY sort Parameter

Assigner: TuranSec
Reserved: 05.08.2026 Published: 05.08.2026 Updated: 05.08.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 7.2

Product Status

Vendor intelliants
Product subrion
Versions Default: unaffected
  • affected from 0 to 4.2.1 (incl.)

Credits

  • Saidakbarxon Maxsudxonov finder

References

Problem Types

  • CWE-89 CWE