Apache Fineract through 1.15.0 has SQL injection in ORDER BY (CVE-2026-65874)
Caller-supplied orderBy, sortOrder and related parameters are concatenated on Center and datatable read APIs.
Authenticated SQL injection in Apache Fineract through 1.15.0
Apache Fineract concatenates caller-supplied orderBy, sortOrder, and order values into the SQL ORDER BY clause on the Center read endpoint and datatable entry read endpoints. Regex checks can be bypassed. Any authenticated user with read access to centers or the targeted datatable can trigger time-based blind SQL injection. Versions through 1.15.0 are affected.
What to do: Upgrade Apache Fineract to 1.16.1, which fixes the ORDER BY injection.
| Product | Affected | Fixed in |
|---|---|---|
| Apache Fineract | up to and including 1.15.0 | 1.16.1 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
This issue affects Apache Fineract versions up to and including 1.15.0. The Center read endpoint (GET /api/v1/centers) and the datatable entry read endpoints (GET /api/v1/datatables/{datatable}/{apptableId} and GET /api/v1/datatables/{datatable}/{apptableId}/{datatableId}) concatenate caller-supplied ordering parameters (orderBy, sortOrder, order) directly into the SQL ORDER BY clause. The existing regex-based input validation can be bypassed, allowing time-based blind SQL injection by any authenticated user with read access to centers or to the targeted datatable. Users are recommended to upgrade to 1.16.1 which fixes the issue.
Caller-supplied orderBy, sortOrder and related parameters are concatenated on Center and datatable read APIs.
Today 625 readers · 755 views · 574 reads · all time 158K views