/

CVE-2026-82039

Severity:

HIGH RISK

(8.8)

SQL Injection (CWE-89) in UTMStack Asset Group Search

CVE-2026-82039

Deferred

Vulnerability type

Category:

SQL Injection

CWE:

CWE-89

Impact:

Database Compromise and Potential Filesystem Access

Severity:

HIGH RISK

(8.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

UTMStack before 11.2.16 contains a SQL injection vulnerability in the asset group search functionality. An authenticated attacker may provide crafted assetType or groupName values to alter a native PostgreSQL query, potentially enabling database access or modification and, depending on database privileges, filesystem-related actions.

Affected context

The vulnerability occurs in UTMStack's asset group search endpoint when user-controlled filter values are incorporated into a native PostgreSQL query. Deployments may be at risk when authenticated users can reach GET /api/utm-asset-groups/searchGroupsByFilter and the backend constructs SQL through string formatting without parameterized binding or equivalent input controls.

Exploit preconditions

  • Attack surface: The authenticated asset group search API endpoint
  • Required access: Valid authentication with access to the affected search functionality
  • Trigger point: Processing of attacker-controlled assetType or groupName filter values
  • Why exploitation is possible: Untrusted values are inserted into a native SQL statement without reliable parameterization or context-aware escaping
  • Privilege dependency: The consequences depend on the database account privileges available to the UTMStack service

Why this happens

The underlying bug is an unsafe construction of a native SQL query using string formatting with values received from an API request. Because the input is treated as part of the SQL statement rather than strictly as data, an authenticated requester may influence query structure. This behavior maps to CWE-89: Improper Neutralization of Special Elements used in an SQL Command (SQL Injection).

Potential impact

  • An attacker may read sensitive database records
  • An attacker could modify, delete, or corrupt stored data
  • The attacker may bypass intended query restrictions
  • Database credentials or application secrets could be exposed
  • Filesystem access may be possible if the database configuration and privileges permit it
  • Compromised data could affect monitoring, asset inventories, or downstream security workflows

General mitigation guidance

Mitigation generally centers on removing SQL construction from untrusted strings and reducing the privileges available to application database accounts.

Common defensive patterns include:

  • Use parameterized queries, prepared statements, or safe query-builder APIs for every dynamic value
  • Apply allowlisted validation for fields with a constrained set of valid values
  • Treat search filters as data and avoid interpolating them into SQL syntax
  • Enforce least-privilege permissions for the application database role
  • Separate database accounts or schemas when different operations require distinct privilege levels
  • Avoid exposing database or filesystem capabilities that are unnecessary for normal application behavior
  • Return generic errors that do not disclose SQL statements, schema details, or database credentials

How teams detect issues like this

Detection can combine source review, runtime monitoring, and policy enforcement:

  • Use static analysis rules to identify string formatting, concatenation, or interpolation inside SQL execution paths
  • Review query-building code for request parameters flowing into native SQL without bound parameters
  • Monitor database logs for unexpected syntax, comment markers, abnormal query structures, or unusual access to system catalogs
  • Alert on authenticated accounts issuing atypical volumes or patterns of asset-group searches
  • Enforce code-review policies requiring parameterized queries for database access
  • Use automated security review tools as a supplementary check for injection-prone data flows

Sources

SourceLink
github.comgithub.com/UTMStack/UTMStack/releases/tag/v11.2.16
github.comgithub.com/utmstack/UTMStack/commit/4e7a727c3b8d8e2ad020d3b4f982a6d085dbecdd
vulncheck.comvulncheck.com/advisories/utmstack-sql-injection-via-searchgroupsbyfilter

Frequently asked

questions

It may be exploitable through the UTMStack API by an authenticated user who can access the affected asset group search operation. The practical scope depends on network exposure, authorization controls, and database permissions.

The attacker generally needs valid authentication and sufficient authorization to invoke the search endpoint. Anonymous access is not required for the described attack path.

The safest pattern is to use parameterized queries or prepared statements so filter values remain data rather than becoming SQL syntax. Strict allowlists and least-privilege database roles provide additional protection.

Enforce parameterized database access through approved libraries, review all native-query construction, validate constrained filter values, monitor database activity, and prevent application accounts from having unnecessary administrative privileges.

Find out what's already
exploitable in your codebase.