Skip to main content
Version: v0.0.3

IGLU-2026-003: The X-Forwarded-For header is trusted unconditionally

Summary: The Iglu-Cache trusts the X-Fowarded-For header unconditionally, allowing a Hacker to circumvent any IP blocking rules

SeverityMedium (CVSS 4.0: 5.1)
Affected versions<= v0.0.2
Fixed versionsv0.0.3
Published2026-10-16
CVSS Calculator v4 values

CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/AU:Y/V:D/U:Green

Use this calculator to get them: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator

Impact​

Any attacker with the right headers (namely the X-Forwarded-For header) could circumvent Iglu's own IP filtering rules (called access_rules).

Affected configurations​

All configurations are affected

Remediation​

Upgrade to a fixed version by updating the Iglu Docker or Nix Service:

Docker Compose:​

services:
postgres:
image: "postgres:18.3"
environment:
POSTGRES_PASSWORD: "changeme"
POSTGRES_DB: "iglu"
iglu:
- image: "ghcr.io/iglu-sh/iglu-cache:v0.0.2"
+ image: "ghcr.io/iglu-sh/iglu-cache:v0.0.3"
volumes:
- "./binaries:/binaries"
- "./config:/config"
environment:
IGLU_CACHE_CONF: "/config/config.toml" # Sets which directory should be searched for your config.toml
depends_on:
- "postgres"
ports:
- "80:80"

Nix Service:​

Run nix flake update and re-start the Iglu service.

Workarounds​

Set ACLs on a system level or on a reverse proxy level

Technical details​

The root cause was a flaw in Iglu's IP filtering middleware (shared/utils/rest/IPFiltering.ts) that trusted any arbitrary X-Forwarded-For Header implicitly. This has since been fixed by introducing a trusted_proxies configuration option that sets which x-forwarded-for headers should be trusted and from where.

Timeline​

DateEvent
2026-10-12Report received
2026-10-12Issue confirmed, severity assessed
2026-10-12Fix released, advisory published

References​

  • Fix commit: Github
  • Release notes: v0.0.3
  • GitHub advisory: None published

Revision history​

DateChange
2026-10-16Initial publication