Fleet: ORDER BY column injection on activity list endpoints
### Summary An authenticated user with read access to Activity could influence the `ORDER BY` clause of the activity list endpoints by supplying an arbitrary sort column: - `GET /api/v1/fleet/activities` (`ListActivities`) - `GET /api/v1/fleet/hosts/{id}/activities` (`ListHostPastActivities`) This originated from the deprecated cursor-pagination helper (`appendListOptionsWithCursorToSQL`), which interpolated the caller-supplied order key into SQL without an allowlist. The original report's `node_key` extraction scenario (`/api/v1/fleet/labels/{id}/hosts`) was remediated separately in #44385; these two activity endpoints were the residual call sites, neither of which joins the `hosts` table, so `node_key` was never reachable through them. ### Impact Read-only. Because the order key was interpolated, an authenticated user with Activity read could sort by columns not otherwise returned in these responses. The exposure was bounded to columns on `activity_past` (e.g. `details` on `/api/v1/fleet/activities`, which is not in that endpoint's SELECT; host-only activities are already excluded by `WHERE host_only = false`). There is no privilege escalation, write access, or reachability of `node_key` or other host-join columns through these endpoints. ### Remediation The deprecated helper was removed from the codebase. Both endpoints now pass the caller-supplied sort column through `SanitizeColumn`, which strips all characters except `[\w-.]` and backtick-quotes each identifier segment.
GHSA-rxhg-vcww-2mpw
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-rxhg-vcww-2mpw
github.com/fleetdm/fleet/v4
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 4.89.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "4.89.0"
}
]
}
],
"package": {
"name": "github.com/fleetdm/fleet/v4",
"purl": "pkg:golang/github.com/fleetdm/fleet/v4",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-rxhg-vcww-2mpw/GHSA-rxhg-vcww-2mpw.json"
}
}
]- Related CVEs
- CVE-2026-101046
Source reference:
/aliases
Publisher severity
low
Source reference: /database_specific/severity
- Event
- #21146 · Revision 1
- Added to Heist Feed
- Publisher date