GHSA-9vv4-g2cx-75rq
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with report-run permission
-
DeliverySelect a report on runreports endpoint
-
ExploitSubmit crafted SQL in parameter value
-
ExecutionInjected query executes against DB
-
ImpactExfiltrate unauthorized data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated Fineract account (PR:L) that has been granted permission to run reports, plus access to the Report Execution API's runreports endpoint; the attacker injects via crafted report parameter values that are passed into the generated SQL. Limiting factors: it is not exploitable pre-authentication (a valid account plus the report-run authorization is mandatory, contradicting the 'Authentication Bypass' tag), affects only versions up to and including 1.14.0, and depends on the account being permitted to execute at least one report. No victim user interaction is needed (UI:N), and no special non-default feature toggle is required - the vulnerable reporting path is standard functionality - so any environment where low-trust users hold report-run rights is realistically exposed. |
| Impact | This is a genuine, actionable priority for any organization running Fineract, though not an unauthenticated internet-wide risk. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 8.8) shows network reach and low attack complexity but explicitly requires privileges (PR:L), consistent with the description's 'authenticated user with permission to run reports.' No EPSS score was supplied, no KEV listing, and no SSVC decision was provided, so automatable/technical-impact cannot be scored from the input. Note a data conflict: the intelligence Tags include 'Authentication Bypass,' but neither the description nor the CVSS vector supports pre-auth exploitation (PR:L, and exploitation is gated on a report-run permission) - treat the 'Authentication Bypass' tag as unverified and likely mislabeled. Also, the description frames impact primarily as unauthorized data access (confidentiality), whereas the base vector rates I:H/A:H; realistic impact skews toward confidentiality for a read-oriented reporting query, so I:H/A:H may be generous depending on the database account's privileges - verify against deployment. |
| Exploit ScenarioDerived | A low-privileged but authenticated Fineract user (for example a branch officer or analyst granted report-run permission) supplies a report and, instead of a normal value, passes a crafted parameter containing SQL syntax such as a UNION SELECT or subquery. Because the value is concatenated into the report's SQL, the injected clause executes and returns rows from tables the user was never authorized to see, such as other clients' financial records or credential/config tables. No public POC is identified at time of analysis, and the network vector with low complexity means exploitation needs only valid low-tier credentials plus the report permission. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Jul 15, 2026
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.
Earlier versions of this analysis (1)
SQL injection in Apache Fineract's Report Execution API (runreports endpoint) allows authenticated users holding report-execution privileges to exfiltrate arbitrary database content beyond their authorized scope. All releases through 1.14.0 are affected - a range that includes the now-EOL 1.14.0 branch, meaning no backport is expected for any prior release. No public exploit code or active exploitation (CISA KEV) has been identified at time of analysis, but the attack technique is elementary for any user who legitimately holds report-runner access in a Fineract deployment.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Fineract gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
3Description PRE-NVD
Articles & Coverage 2
Executive ViewAI
Apache Fineract versions through 1.14.0 contain an authenticated SQL injection vulnerability in the Report Execution API enabling authorized users to bypass data access controls and retrieve sensitive financial information beyond their authorized scope. Organizations using Fineract for financial reporting face material risk of unauthorized data exposure, especially where report-run permissions are broadly distributed across finance and audit teams.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Minimize report-run permissions to only essential finance and audit staff with documented business justification; (2) Enable detailed audit logging for all Report Execution API calls and alert on suspicious report parameter values; (3) Implement database-level query logging and network segmentation to restrict Fineract database access; (4) Deploy Web Application Firewall rules to block SQL injection patterns; (5) Conduct immediate access review to eliminate dormant report-run permissions; (6) Consider disabling the Report Execution API entirely if not actively required pending patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
SQL injection in Apache Fineract through 1.15.0 allows a caller of the /fineract-provider/api/v1/search/advance endpoint
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
Exposure of insufficiently protected credentials in Apache Fineract through 1.11.0 allows unauthenticated remote attacke
Time-based blind SQL injection in Apache Fineract through 1.15.0 lets an authenticated user who already holds read acces
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
Weak password requirements in Apache Fineract through 1.10.1 allow attackers to more easily compromise user accounts via
EUVD-2026-44604
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB