/

CVE-2026-88424

Severity:

CRITICAL RISK

(9.8)

SQL Injection (CWE-89) in FineAdmin ButtonService API

CVE-2026-88424

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Unauthorized database access and sensitive information disclosure

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

FineAdmin v1.0 contains a critical SQL injection vulnerability in the ButtonService.GetListByFilter() handling of the field/order parameter. An attacker who can reach the affected functionality may submit crafted input that alters database queries and exposes sensitive information.

FineAdmin v1.0 contains a critical SQL injection vulnerability in the ButtonService.GetListByFilter() handling of the field/order parameter. An attacker who can reach the affected functionality may submit crafted input that alters database queries and exposes sensitive information.

Affected context

The vulnerability occurs in FineAdmin v1.0 when the ButtonService GetListByFilter() operation processes the field/order parameter as part of a database query. Risk is present where the affected endpoint is accessible to an attacker and parameter values are incorporated into SQL statements without sufficiently strict validation or safe query construction.

The vulnerability occurs in FineAdmin v1.0 when the ButtonService GetListByFilter() operation processes the field/order parameter as part of a database query. Risk is present where the affected endpoint is accessible to an attacker and parameter values are incorporated into SQL statements without sufficiently strict validation or safe query construction.

Exploit preconditions

  • Attack surface: The FineAdmin web functionality exposing ButtonService.GetListByFilter()
  • Required access: Network access to the affected application endpoint; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the field/order parameter during database query construction
  • Why exploitation is possible: Attacker-controlled parameter data may influence SQL syntax instead of being treated solely as a constrained field or ordering value
  • Attack surface: The FineAdmin web functionality exposing ButtonService.GetListByFilter()
  • Required access: Network access to the affected application endpoint; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the field/order parameter during database query construction
  • Why exploitation is possible: Attacker-controlled parameter data may influence SQL syntax instead of being treated solely as a constrained field or ordering value

Why this happens

The underlying bug is improper neutralization of special elements in SQL commands, mapping to CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'). The application appears to trust a request-controlled field/order value while constructing or selecting query components, rather than restricting it to an allowlisted set of valid identifiers and using parameterized database operations for values.

The underlying bug is improper neutralization of special elements in SQL commands, mapping to CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'). The application appears to trust a request-controlled field/order value while constructing or selecting query components, rather than restricting it to an allowlisted set of valid identifiers and using parameterized database operations for values.

Potential impact

  • Attackers may read sensitive database records
  • Attackers could access application secrets, user data, or authorization information
  • Database contents may be altered or deleted
  • The application may experience data integrity loss or service disruption
  • Compromised database information can support further attacks against connected systems
  • Attackers may read sensitive database records
  • Attackers could access application secrets, user data, or authorization information
  • Database contents may be altered or deleted
  • The application may experience data integrity loss or service disruption
  • Compromised database information can support further attacks against connected systems

General mitigation guidance

Mitigation generally focuses on separating query structure from request data

and reducing trust in client-supplied query controls.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for user-influenced values
  • Restricting field and order selections to a fixed server-side allowlist
  • Avoiding direct concatenation of request parameters into SQL statements
  • Applying input validation based on expected type, format, and permitted values
  • Giving application database accounts only the privileges required for normal operation
  • Limiting sensitive database exposure and protecting errors from revealing query details

Mitigation generally focuses on separating query structure from request data

and reducing trust in client-supplied query controls.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for user-influenced values
  • Restricting field and order selections to a fixed server-side allowlist
  • Avoiding direct concatenation of request parameters into SQL statements
  • Applying input validation based on expected type, format, and permitted values
  • Giving application database accounts only the privileges required for normal operation
  • Limiting sensitive database exposure and protecting errors from revealing query details

How teams detect issues like this

Detection approaches may include:

  • Static analysis for string concatenation or formatting of request parameters into SQL statements
  • Code review of filtering, sorting, and query-builder interfaces that accept field or order values
  • Dynamic testing with SQL injection test cases in authorized staging environments
  • Database monitoring for anomalous query patterns, unexpected metadata access, or unusual read volume
  • Web application firewall or API policy rules that enforce expected parameter formats and allowlisted values
  • Automated security review tools that flag unsafe query construction patterns

Detection approaches may include:

  • Static analysis for string concatenation or formatting of request parameters into SQL statements
  • Code review of filtering, sorting, and query-builder interfaces that accept field or order values
  • Dynamic testing with SQL injection test cases in authorized staging environments
  • Database monitoring for anomalous query patterns, unexpected metadata access, or unusual read volume
  • Web application firewall or API policy rules that enforce expected parameter formats and allowlisted values
  • Automated security review tools that flag unsafe query construction patterns

Sources

SourceLink
github.comgithub.com/xuex86438-netizen/FineAdmin.Mvc-Pagination-Sort-Parameter-SQL-Injection-Permissions-Button-List-/blob/main/FineAdmin.Mvc%20Pagination%20Sort-Parameter%20SQL%20Injection%20%28/Permissions/Button/List%29

Frequently asked

questions

It may be remotely exploitable when the affected FineAdmin functionality is exposed

through a reachable web endpoint and an attacker can submit the vulnerable

parameter.

Authentication requirements depend on the application's access controls. Any

account or integration permitted to reach the affected operation may be

relevant, while an exposed unauthenticated endpoint would present greater risk.

Use parameterized queries and constrain field and ordering choices to a

server-side allowlist. Request values should not be allowed to define

arbitrary SQL syntax.

Apply secure query APIs consistently, review all filtering and sorting

parameters, enforce least-privilege database access, and include static and

dynamic SQL injection testing in development and deployment controls.

It may be remotely exploitable when the affected FineAdmin functionality is exposed

through a reachable web endpoint and an attacker can submit the vulnerable

parameter.

Authentication requirements depend on the application's access controls. Any

account or integration permitted to reach the affected operation may be

relevant, while an exposed unauthenticated endpoint would present greater risk.

Use parameterized queries and constrain field and ordering choices to a

server-side allowlist. Request values should not be allowed to define

arbitrary SQL syntax.

Apply secure query APIs consistently, review all filtering and sorting

parameters, enforce least-privilege database access, and include static and

dynamic SQL injection testing in development and deployment controls.

Find out what's already
exploitable in your codebase.