---
id: CVE-2026-54246
title: Skipper is an HTTP router and reverse proxy for service composition
summary: >-
  Skipper is an HTTP router and reverse proxy for service composition. Prior to
  0.27.13, the routesrv component serves cluster-wide control-plane data without
  application-layer authentication through /routes, /routes/{zone},
  /swarm/redis/s…
severity: medium
cvss: 5.7
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-306
vendor: zalando
product: skipper
affected:
  - skipper < 0.27.13
patched:
  - github.com/zalando/skipper 0.27.13
published: '2026-09-14'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T13:42:48.877'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-54246'
references:
  - url: >-
      https://github.com/zalando/skipper/commit/fb3d5f98ee749d9a1dfc5df2d51ac9b82fab92aa
    label: security-advisories@github.com
  - url: 'https://github.com/zalando/skipper/pull/4056'
    label: security-advisories@github.com
  - url: 'https://github.com/zalando/skipper/releases/tag/v0.27.13'
    label: security-advisories@github.com
  - url: 'https://github.com/zalando/skipper/security/advisories/GHSA-5587-2x54-jj6h'
    label: security-advisories@github.com
  - url: 'https://github.com/advisories/GHSA-5587-2x54-jj6h'
tags:
  - nvd
  - cve.org
  - ghsa
  - go
epss: 0.00338
epssPercentile: 0.24468
aliases:
  - GHSA-5587-2x54-jj6h
ecosystem: go
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-15T14:38:31.741550Z'
ingestedAt: '2026-07-17T22:16:59.674Z'
---

## Overview

Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.27.13, the routesrv component serves cluster-wide control-plane data without application-layer authentication through /routes, /routes/{zone}, /swarm/redis/shards, and /swarm/valkey/shards. The handlers registered in routesrv/routesrv.go, eskipBytes.ServeHTTP in routesrv/eskipbytes.go, RedisHandler.ServeHTTP in routesrv/redishandler.go, and ValkeyHandler.ServeHTTP in routesrv/valkeyhandler.go only restrict HTTP methods and do not authenticate callers. A compromised or otherwise attacker-controlled pod that can reach routesrv on the Kubernetes cluster network can bypass its namespace-scoped RBAC and read Ingress and RouteGroup backend URLs, filter-chain and OAuth or OIDC path details, and Redis or Valkey shard addresses across namespaces. NetworkPolicy can restrict reachability but does not remove the missing-authentication condition, and the established impact is confidentiality exposure rather than direct integrity or availability loss. This issue is fixed in version 0.27.13.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-54246)

Affected packages:

- `github.com/zalando/skipper < 0.27.13`

Patched in:

- `github.com/zalando/skipper 0.27.13`

Source: https://github.com/advisories/GHSA-5587-2x54-jj6h
