GHSA-9vv4-g2cx-75rq
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable reporting API with low complexity but requires an authenticated report-run permission (PR:L); impact is primarily unauthorized data read (C:H), with limited integrity and no clear availability impact for a read-oriented report query.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
6Description PRE-NVD
Articles & Coverage 2
AnalysisAI
SQL injection in Apache Fineract's Report Execution API (the runreports endpoint) in all versions up to and including 1.14.0 lets an authenticated user holding report-run permission inject arbitrary SQL through crafted report parameter values, because those values are concatenated into the generated query without sufficient validation. This yields unauthorized read access to data well beyond what the report was scoped to expose, and by extension other database contents. There is no public exploit identified at time of analysis and the flaw is not in CISA KEV; the upstream fix landed in PR #5980, which introduces a configurable InputValidator/validation-profile framework.
Technical ContextAI
Apache Fineract is an open-source core-banking / financial-services platform (the successor to Mifos) built on Spring and backed by a relational database. Its reporting subsystem lets privileged users execute stored 'Stretchy'/pentaho-style reports whose parameters are supplied at request time via the runreports endpoint and handled through GenericDataService when building the resultset SQL. The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command): parameter values were interpolated into the SQL string rather than bound as parameters, so classic in-band/UNION-style injection is possible. The fix confirms this - PR #5980 adds a parameterized fillGenericResultSet(String sql, Object... args) overload plus a new InputValidator/DefaultInputValidator, InputValidationException, and FineractInputValidationProperties (named validation patterns and profiles such as 'number'/'date') so report parameters are validated against allow-list patterns before use.
RemediationAI
Upgrade to a fixed release of Apache Fineract above 1.14.0 that incorporates PR #5980 (https://github.com/apache/fineract/pull/5980); the input does not specify an exact tagged release number, so this is an upstream fix available (PR/commit) with the released patched version not independently confirmed - confirm the target version against the Apache Fineract announcement threads before deploying. As compensating controls until patched, tightly restrict report-execution authority: remove the run-reports/READ report permission from all but essential roles so far fewer accounts can reach the runreports endpoint, and where feasible restrict network access to the reporting API to trusted admin networks. Run Fineract's database connection under a least-privilege account (read-only where reporting allows, no access to unrelated schemas or tables) to bound what injected SQL can reach; the trade-off is that legitimate reports needing broader data or writes may break. Enable database query logging and monitoring for anomalous UNION/OR/comment patterns from the report service, accepting added log volume.
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in Apache Fineract.8.
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in Apache Fineract.8.
In Apache Fineract versions 1.0.0, 0.6.0-incubating, 0.5.0-incubating, 0.4.0-incubating, Using a single quotation escape
SQL Injection vulnerability in various API endpoints - offices, dashboards, etc. Rated critical severity (CVSS 9.4), thi
In Apache Fineract 0.4.0-incubating, 0.5.0-incubating, and 0.6.0-incubating, an authenticated user with client/loan/cent
Improper Privilege Management vulnerability in Apache Fineract.8.5. Rated high severity (CVSS 8.8), this vulnerability i
Apache Fineract allowed an authenticated user to perform remote code execution due to a path traversal vulnerability in
In Apache Fineract versions 1.0.0, 0.6.0-incubating, 0.5.0-incubating, 0.4.0-incubating, the system exposes different RE
SQL injection in Apache Fineract's Office Search API (GET /api/v1/offices) in all versions up to and including 1.14.0 le
Blind boolean-based SQL injection in Apache Fineract's Client Search API (GET /api/v1/clients) through version 1.14.0 le
Server-Side Request Forgery (SSRF) vulnerability in Apache Software Foundation Apache Fineract. Rated high severity (CVS
Within the 'getReportType' method in Apache Fineract 1.0.0, 0.6.0-incubating, 0.5.0-incubating, 0.4.0-incubating, a hack
Same weakness CWE-89 – SQL Injection
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-44604