/

CVE-2026-110670

Severity:

HIGH RISK

(7.3)

SQL Injection (CWE-89) in sar2html Archive Processing

CVE-2026-110670

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-74, CWE-89

Impact:

Database compromise and unauthorized data 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 high-severity SQL injection vulnerability in cemtan sar2html 4.0.0 affects the Archive Processing component's updateDb function through the s2host argument. Because the affected functionality can be reached remotely, an attacker may be able to influence database queries and access, alter, or damage stored data when input is processed without adequate separation from SQL commands.

A high-severity SQL injection vulnerability in cemtan sar2html 4.0.0 affects the Archive Processing component's updateDb function through the s2host argument. Because the affected functionality can be reached remotely, an attacker may be able to influence database queries and access, alter, or damage stored data when input is processed without adequate separation from SQL commands.

Affected context

The vulnerability occurs in sar2html 4.0.0 while the Archive Processing component handles the s2host argument in the updateDb function. Risk depends on the function being reachable through a remote attack surface and on the argument being incorporated into database operations without effective parameterization or equivalent query safeguards.

The vulnerability occurs in sar2html 4.0.0 while the Archive Processing component handles the s2host argument in the updateDb function. Risk depends on the function being reachable through a remote attack surface and on the argument being incorporated into database operations without effective parameterization or equivalent query safeguards.

Exploit preconditions

  • Attack surface: Remotely reachable Archive Processing functionality
  • Required access: Access sufficient to submit or influence the s2host argument; authentication requirements depend on deployment configuration
  • Trigger point: Processing of s2host by the updateDb function
  • Why exploitation is possible: User-controlled input may affect SQL statement structure rather than being handled solely as data
  • Attack surface: Remotely reachable Archive Processing functionality
  • Required access: Access sufficient to submit or influence the s2host argument; authentication requirements depend on deployment configuration
  • Trigger point: Processing of s2host by the updateDb function
  • Why exploitation is possible: User-controlled input may affect SQL statement structure rather than being handled solely as data

Why this happens

The underlying bug is an injection-prone database access pattern in which externally influenced input is not reliably separated from SQL syntax and values. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection) and is also associated with CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component. The insecure pattern commonly involves dynamic query construction, insufficient parameter binding, or validation that does not account for the database interpreter's syntax.

The underlying bug is an injection-prone database access pattern in which externally influenced input is not reliably separated from SQL syntax and values. This maps primarily to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection) and is also associated with CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component. The insecure pattern commonly involves dynamic query construction, insufficient parameter binding, or validation that does not account for the database interpreter's syntax.

Potential impact

  • An attacker may read data beyond the intended application scope.
  • Stored records may be modified or deleted.
  • Database integrity and archive-processing results could be disrupted.
  • Database credentials or connection details may be exposed.
  • Depending on database permissions, compromise could extend to other application or host resources.
  • An attacker may read data beyond the intended application scope.
  • Stored records may be modified or deleted.
  • Database integrity and archive-processing results could be disrupted.
  • Database credentials or connection details may be exposed.
  • Depending on database permissions, compromise could extend to other application or host resources.

General mitigation guidance

Mitigation generally focuses on ensuring that database commands treat external values strictly as data.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all database operations.
  • Avoiding string concatenation or interpolation when constructing SQL commands.
  • Applying allowlist validation for values with a constrained format, including host-related fields where appropriate.
  • Restricting database accounts to the minimum read, write, and schema permissions required.
  • Separating database credentials from user-controlled configuration and protecting them through managed secret storage.
  • Preserving safe error handling so database details are not disclosed to remote callers.
  • Applying network and policy controls that limit which services the application can reach.

Mitigation generally focuses on ensuring that database commands treat external values strictly as data.

Common defensive patterns include:

  • Using parameterized queries or prepared statements for all database operations.
  • Avoiding string concatenation or interpolation when constructing SQL commands.
  • Applying allowlist validation for values with a constrained format, including host-related fields where appropriate.
  • Restricting database accounts to the minimum read, write, and schema permissions required.
  • Separating database credentials from user-controlled configuration and protecting them through managed secret storage.
  • Preserving safe error handling so database details are not disclosed to remote callers.
  • Applying network and policy controls that limit which services the application can reach.

How teams detect issues like this

Detection approaches can include:

  • Static analysis rules identifying SQL strings built through concatenation or interpolation with request-derived values.
  • Code review checks for database calls that do not use bound parameters.
  • Tests that submit unexpected delimiter, encoding, and type variations to verify that inputs remain data.
  • Database audit logging for anomalous query structure, excessive errors, unexpected read volume, or unauthorized modification activity.
  • Application policy checks requiring parameterized query APIs and least-privilege database identities.
  • Neutral automated code-review or SAST tools that flag injection-prone data flows for manual assessment.

Detection approaches can include:

  • Static analysis rules identifying SQL strings built through concatenation or interpolation with request-derived values.
  • Code review checks for database calls that do not use bound parameters.
  • Tests that submit unexpected delimiter, encoding, and type variations to verify that inputs remain data.
  • Database audit logging for anomalous query structure, excessive errors, unexpected read volume, or unauthorized modification activity.
  • Application policy checks requiring parameterized query APIs and least-privilege database identities.
  • Neutral automated code-review or SAST tools that flag injection-prone data flows for manual assessment.

Sources

SourceLink
github.comgithub.com/cemtan/sar2html/
github.comgithub.com/cemtan/sar2html/issues/22
vuldb.comvuldb.com/cve/CVE-2026-110670
vuldb.comvuldb.com/submit/1003778
vuldb.comvuldb.com/vuln/419833
vuldb.comvuldb.com/vuln/419833/cti

Frequently asked

questions

Yes, the description identifies a remote attack path. Exploitability still depends on whether the affected Archive Processing functionality is exposed and whether deployment controls require authentication or other authorization.

An attacker must be able to reach the relevant functionality and influence the s2host argument. The exact access requirement depends on how sar2html is deployed and protected.

Use parameterized queries or prepared statements, validate constrained inputs with allowlists, and ensure that database errors and credentials are not exposed to callers.

Establish a policy requiring bound parameters for database access, review data flows from remote inputs to query construction, test negative input cases, and run the application with a least-privilege database account.

Yes, the description identifies a remote attack path. Exploitability still depends on whether the affected Archive Processing functionality is exposed and whether deployment controls require authentication or other authorization.

An attacker must be able to reach the relevant functionality and influence the s2host argument. The exact access requirement depends on how sar2html is deployed and protected.

Use parameterized queries or prepared statements, validate constrained inputs with allowlists, and ensure that database errors and credentials are not exposed to callers.

Establish a policy requiring bound parameters for database access, review data flows from remote inputs to query construction, test negative input cases, and run the application with a least-privilege database account.

Find out what's already
exploitable in your codebase.