/

CVE-2026-102098

Severity:

HIGH RISK

(7.2)

SQL Injection (CWE-89) in Kiteworks Core Reporting

CVE-2026-102098

Analyzed

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Sensitive Data Exposure and Service Disruption

Severity:

HIGH RISK

(7.2)

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 stored SQL injection vulnerability in a Kiteworks Core administrative reporting feature may allow an authenticated administrator to influence database queries through persisted report-related input. Successful exploitation could expose sensitive database information or affect service availability when the affected reporting function processes that input.

Affected context

The vulnerability occurs in Kiteworks Core administrative reporting functionality when attacker-influenced data is stored and later incorporated into database queries without sufficient parameterization or neutralization. Exploitation generally depends on the reporting feature being enabled and the attacker possessing an authenticated administrative account with access to that function.

Exploit preconditions

  • Attack surface: Administrative reporting functionality
  • Required access: An existing authenticated administrator account with access to the affected report
  • Trigger point: Processing or displaying stored input through the vulnerable reporting workflow
  • Why exploitation is possible: Persisted input may be incorporated into SQL statements without reliable separation from query logic

Why this happens

The underlying bug is a failure to treat stored application data as untrusted when constructing database queries. If report-related values are concatenated into SQL rather than handled through parameterized queries or equivalent safe abstractions, crafted data can alter query behavior. This pattern maps to CWE-89, SQL Injection.

Potential impact

  • An attacker may read sensitive information from the underlying database.
  • An attacker could alter query behavior and expose records beyond intended authorization boundaries.
  • Database operations could affect the availability of the Kiteworks service.
  • Compromised data may contribute to broader administrative or compliance risks.

General mitigation guidance

Mitigation generally focuses on eliminating dynamic SQL construction from

report-processing paths and reducing trust in persisted input.

Common defensive patterns include:

  • Use parameterized queries, prepared statements, or safe query-builder APIs.
  • Apply strict allowlist validation for report fields, operators, and sort or filter options.
  • Encode or constrain stored values according to their intended data type and context.
  • Enforce authorization checks independently of query construction.
  • Run database connections with the minimum permissions required by reporting features.
  • Use secure-by-default reporting behavior that rejects unsupported expressions and unexpected input.

How teams detect issues like this

Detection approaches may include:

  • Static analysis for string concatenation or interpolation used to build SQL queries.
  • Code review of report filters, sorting, search fields, and persisted administrative settings.
  • Database monitoring for abnormal query shapes, unexpected errors, and broad data-access patterns.
  • Policy enforcement requiring parameterized queries and approved database-access abstractions.
  • Automated security testing that uses non-destructive input variations against authorized reporting workflows.

Sources

SourceLink
github.comgithub.com/kiteworks/security-advisories/security/advisories/GHSA-cqg3-857q-cqj6
raw.githubusercontent.comraw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/VA/white/2026/va-26-274-01.json

Frequently asked

questions

It may be exploitable through the application's administrative interface, but

exploitation requires an authenticated administrator with access to the

affected reporting function.

Yes. The described attack path requires an existing authenticated

administrative account authorized to use the vulnerable reporting feature.

Use parameterized queries or equivalent safe database APIs, validate report

inputs against strict allowlists, and keep authorization separate from query

construction.

Combine secure query abstractions, least-privilege database accounts, focused

code review, static analysis, and monitoring for anomalous reporting queries.

Find out what's already
exploitable in your codebase.