/

CVE-2026-110668

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in cemtan sar2html 4.0.0 App

CVE-2026-110668

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Database Query Manipulation

Severity:

HIGH RISK

(7.3)

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

A SQL injection vulnerability in the index function of cemtan sar2html 4.0.0 allows attacker-controlled input from the sort argument to influence database queries. Because the affected functionality may be reachable over a network, a remote attacker could potentially read, alter, or interfere with database-backed application data.

A SQL injection vulnerability in the index function of cemtan sar2html 4.0.0 allows attacker-controlled input from the sort argument to influence database queries. Because the affected functionality may be reachable over a network, a remote attacker could potentially read, alter, or interfere with database-backed application data.

Affected context

The issue occurs in the index function of sar2html.py when the sort argument is incorporated into SQL processing without sufficient separation between data and query structure. Deployments that expose the affected functionality through a web-accessible interface may provide a remotely reachable attack surface, depending on network controls and authentication requirements.

The issue occurs in the index function of sar2html.py when the sort argument is incorporated into SQL processing without sufficient separation between data and query structure. Deployments that expose the affected functionality through a web-accessible interface may provide a remotely reachable attack surface, depending on network controls and authentication requirements.

Exploit preconditions

  • Attack surface: The remotely accessible interface that invokes the index function
  • Required access: Ability to submit requests containing a controllable sort argument; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the sort parameter while constructing or executing a database query
  • Why exploitation is possible: User-controlled input may be interpreted as SQL syntax rather than being handled strictly as a value or validated sort option
  • Attack surface: The remotely accessible interface that invokes the index function
  • Required access: Ability to submit requests containing a controllable sort argument; authentication requirements depend on deployment configuration
  • Trigger point: Processing of the sort parameter while constructing or executing a database query
  • Why exploitation is possible: User-controlled input may be interpreted as SQL syntax rather than being handled strictly as a value or validated sort option

Why this happens

The underlying bug is insufficient separation between untrusted request data and SQL query structure. If the sort argument is concatenated into a query or otherwise passed through an unsafe query-building path, specially crafted input can alter the intended statement. This behavior maps to CWE-89, SQL Injection, and is also related to CWE-74, which covers improper neutralization of special elements in an interpreted command or query.

The underlying bug is insufficient separation between untrusted request data and SQL query structure. If the sort argument is concatenated into a query or otherwise passed through an unsafe query-building path, specially crafted input can alter the intended statement. This behavior maps to CWE-89, SQL Injection, and is also related to CWE-74, which covers improper neutralization of special elements in an interpreted command or query.

Potential impact

  • An attacker may retrieve unauthorized database records.
  • An attacker could modify or delete application data, depending on database permissions.
  • Database credentials or schema information may be exposed.
  • The application may experience errors, degraded availability, or denial of service.
  • Further compromise could occur if the database account has excessive privileges or database-specific execution features are available.
  • An attacker may retrieve unauthorized database records.
  • An attacker could modify or delete application data, depending on database permissions.
  • Database credentials or schema information may be exposed.
  • The application may experience errors, degraded availability, or denial of service.
  • Further compromise could occur if the database account has excessive privileges or database-specific execution features are available.

General mitigation guidance

Mitigation generally centers on ensuring that request data cannot become part

of SQL syntax.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all data values.
  • Treating sorting and ordering fields as enum-like choices mapped to fixed server-side SQL fragments rather than accepting raw query text.
  • Applying strict allowlist validation to the sort argument and rejecting unexpected values.
  • Using database accounts with only the permissions required by the application.
  • Separating database credentials and reducing access to sensitive schemas and tables.
  • Avoiding detailed database error messages in externally visible responses.

Mitigation generally centers on ensuring that request data cannot become part

of SQL syntax.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all data values.
  • Treating sorting and ordering fields as enum-like choices mapped to fixed server-side SQL fragments rather than accepting raw query text.
  • Applying strict allowlist validation to the sort argument and rejecting unexpected values.
  • Using database accounts with only the permissions required by the application.
  • Separating database credentials and reducing access to sensitive schemas and tables.
  • Avoiding detailed database error messages in externally visible responses.

How teams detect issues like this

Detection approaches may include:

  • Static analysis rules for string concatenation, interpolation, or formatting used to build SQL statements from request parameters.
  • Code review checks for dynamic ORDER BY, filtering, or pagination logic that accepts client-controlled field names or expressions.
  • Runtime monitoring for anomalous query errors, unexpected sort expressions, database metadata access, and unusual response patterns.
  • Web application firewall or API policy rules that restrict invalid sort values, used as a defense-in-depth control rather than a substitute for safe query construction.
  • Automated security testing and code review tools that identify SQL query construction involving untrusted input.

Detection approaches may include:

  • Static analysis rules for string concatenation, interpolation, or formatting used to build SQL statements from request parameters.
  • Code review checks for dynamic ORDER BY, filtering, or pagination logic that accepts client-controlled field names or expressions.
  • Runtime monitoring for anomalous query errors, unexpected sort expressions, database metadata access, and unusual response patterns.
  • Web application firewall or API policy rules that restrict invalid sort values, used as a defense-in-depth control rather than a substitute for safe query construction.
  • Automated security testing and code review tools that identify SQL query construction involving untrusted input.

Sources

SourceLink
github.comgithub.com/cemtan/sar2html/
github.comgithub.com/cemtan/sar2html/issues/20
vuldb.comvuldb.com/cve/CVE-2026-110668
vuldb.comvuldb.com/submit/1003762
vuldb.comvuldb.com/vuln/419828
vuldb.comvuldb.com/vuln/419828/cti

Frequently asked

questions

Potentially. The description indicates that the affected function can be reached remotely, but practical exploitability depends on network exposure, authentication, request routing, and database configuration.

An attacker needs access to the interface that processes the vulnerable sort parameter. Whether authentication is required depends on how the sar2html service is deployed.

Use parameterized queries and map accepted sort options to a fixed server-side allowlist. Do not insert raw client-controlled field names or expressions into SQL statements.

Combine secure query APIs, strict input validation, least-privileged database accounts, focused code review, automated static analysis, and monitoring for abnormal database query behavior.

Potentially. The description indicates that the affected function can be reached remotely, but practical exploitability depends on network exposure, authentication, request routing, and database configuration.

An attacker needs access to the interface that processes the vulnerable sort parameter. Whether authentication is required depends on how the sar2html service is deployed.

Use parameterized queries and map accepted sort options to a fixed server-side allowlist. Do not insert raw client-controlled field names or expressions into SQL statements.

Combine secure query APIs, strict input validation, least-privileged database accounts, focused code review, automated static analysis, and monitoring for abnormal database query behavior.

Find out what's already
exploitable in your codebase.