Bug 2511519 (CVE-2026-71298) - CVE-2026-71298 maestro: SQL identifier injection via properties.* search filter and orderBy field
Summary: CVE-2026-71298 maestro: SQL identifier injection via properties.* search filt...
Keywords:
Status: NEW
Alias: CVE-2026-71298
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-05 13:23 UTC by OSIDB Bzimport
Modified: 2026-10-05 17:54 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-05 13:23:11 UTC
The orderBy query parameter in maestro's REST API list endpoints flows unsanitized into gorm.Order() at pkg/dao/generic.go:64. NewListArguments reads r.URL.Query() raw, cleanOrderBy/getField apply only literal-byte splits with an empty denylist (SearchDisallowedFields), and the result is passed unparameterized to gorm .Order(). The lexical filters (no literal comma, max 1 space, max 1 dot) are bypassable via TAB (%09), LF, or /**/ whitespace substitution and comma-free Postgres syntax.

The REST API has no authentication middleware, so the injection is reachable without credentials (PR:N). Impact is constrained to read-only blind ORDER BY extraction -- the properties.* half of the originally reported claim (sql_helpers.go:83) is largely mitigated by treeWalkForRelatedTables rejecting 'properties.x' before propertiesNodeConverter is reached.

Upstream repo: https://github.com/openshift-online/maestro
Jira: ACM-38753


Note You need to log in before you can comment on or make changes to this bug.