fleetdm/fleet · Security

Fleet has a rate limiting bypass via untrusted client IP headers

GHSA ID
GHSA-j8h8-75h3-jg53
CVE ID
CVE-2026-24000
Severity
medium
Published
Updated
CVSS
5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS v3
5.3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS v4
6.9 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Description

Impact

Fleet trusted client-supplied IP address headers when determining the source IP for incoming requests. This allowed authenticated and unauthenticated clients to spoof their apparent IP address and bypass per-IP rate limiting controls.

Fleet determines a client’s public IP address using HTTP headers such as:

  • X-Forwarded-For
  • X-Real-IP
  • True-Client-IP

These headers were trusted without validation. An attacker could supply arbitrary values in these headers, causing Fleet to treat each request as originating from a different IP address.

This could allow an attacker to bypass per-IP rate limits and increase the effectiveness of brute-force or password-spraying attempts against authentication endpoints.

This issue does not allow authentication bypass, privilege escalation, data exposure, or remote code execution on its own.

Workarounds

Run Fleet behind a trusted reverse proxy or load balancer that overwrites client IP headers.

For more information

If you have any questions or comments about this advisory:

Email us at [email protected] Join #fleet in osquery Slack

Credits

We thank @fuzzztf for responsibly reporting this issue.

CWEs

References