Description
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.
Published: 2026-09-14
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Confidentiality Exposure
Action: Patch
AI Analysis

Impact

Skipper’s routesrv component exposes multiple API endpoints—/routes, /routes/{zone}, /swarm/redis/shards, and /swarm/valkey/shards—without applying any application‑layer authentication. The request handlers defined in routesrv.go, eskipBytes.ServeHTTP, RedisHandler.ServeHTTP, and ValkeyHandler.ServeHTTP only enforce HTTP method restrictions and fail to authenticate callers. Consequently, any pod that can reach the routesrv service within the Kubernetes cluster network can bypass namespace‑scoped RBAC and read backend routing information, filter chains, OAuth/OIDC path details, and the addresses of Redis or Valkey shards spanning namespaces. The principal effect is the exposure of confidential cluster‑level configuration data rather than a direct loss of integrity or availability.

Affected Systems

The vulnerability applies to the Skipper HTTP router and reverse proxy released by Zalando, affecting all Skipper installations prior to version 0.27.13. Any cluster using the routesrv component in these earlier releases is susceptible, regardless of how the application is deployed within the Kubernetes environment.

Risk and Exploitability

With a CVSS score of 5.7, the problem presents a moderate severity risk. The EPSS score is < 1% and the vulnerability is not listed in CISA’s KEV catalog. The attack requires that an attacker control a pod or otherwise reach the routesrv component within the cluster network; once reached, the attacker can bypass namespace‑scoped RBAC and read sensitive configuration data. NetworkPolicy can limit reachability, but it does not remove the exposure of confidential cluster‑level information rather than immediate integrity or availability compromise.

Generated by OpenCVE AI on September 20, 2026 at 22:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Skipper to version 0.27.13 or later to enforce authentication on all routesrv API endpoints.
  • Apply Kubernetes NetworkPolicy rules to restrict which pods can communicate with the routesrv service, limiting exposure to trusted workloads.
  • Ensure that service accounts and pod permissions follow least‑privilege principles so that only authorized components can access the routesrv network paths.

Generated by OpenCVE AI on September 20, 2026 at 22:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-5587-2x54-jj6h Skipper's routesrv-no-auth component: All routesrv API Endpoints Lack Authentication
History

Tue, 15 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 15 Sep 2026 05:00:00 +0000

Type Values Removed Values Added
First Time appeared Zalando
Zalando skipper
Vendors & Products Zalando
Zalando skipper

Mon, 14 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Skipper routesrv-no-auth: All routesrv API Endpoints Lack Authentication
Weaknesses CWE-306
References
Metrics cvssV3_1

{'score': 5.7, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T14:38:38.620Z

Reserved: 2026-06-12T16:25:43.085Z

Link: CVE-2026-54246

cve-icon Vulnrichment

Updated: 2026-09-15T14:38:35.226Z

cve-icon NVD

Status : Deferred

Published: 2026-09-14T20:16:45.697

Modified: 2026-09-16T13:42:48.877

Link: CVE-2026-54246

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T22:15:05Z

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function