CVE-2026-65604
HighCVSS 8.2Exploitation Probability (EPSS)
Low risk31th percentile - higher than 31% of all known CVEs
Summary
Skipper has an incomplete fix for CVE-2026-50197 where oversized request bodies bypass Open Policy Agent (OPA) deny-on-presence policies. When the request body exceeds the maxBodyBytes limit, Skipper forwards the full payload to the upstream service while OPA evaluates an empty parsed_body, allowing forbidden actions.
Risk Assessment
An attacker can send malicious requests with large bodies that bypass OPA security policies, potentially leading to unauthorized operations or data breaches.
Recommendation
No fixed version is available; apply documentation guidance from v0.27.26 and consider additional safeguards such as limiting request body size at the proxy level.
Other vulnerabilities in Skipper
See all- CVE-2026-86043High
Skipper is an HTTP router and reverse proxy for service composition. Prior to version 0.27.37, the opaAuthorizeRequestWithBody filter can authorize an oversized request after Skipper truncates the body presented to Open Policy Agent because the input.truncated_body signal is derived from Content-Length rather than the actual read result. In filters/openpolicyagent/openpolicyagent.go, ExtractHttpBodyOptionally truncates bodies at maxBodyBytes, while filters/openpolicyagent/internal/envoy/skipperadapter.go copies the request headers without adding a Content-Length value that reflects the truncation. For an HTTP/1.1 request using Transfer-Encoding: chunked or an HTTP/2 request without Content-Length, a body-inspecting policy that follows the prior mitigation and permits input.truncated_body equal to false can evaluate only the truncated prefix, allow the request, and then forward the full oversized body to the protected upstream. This residual issue is distinct from CVE-2026-50197. This issue is fixed in version 0.27.37.
- CVE-2022-27262Critical
An arbitrary file upload vulnerability in the file upload module of Skipper v0.9.1 allows attackers to execute arbitrary code via a crafted file.
- CVE-2026-65838High
Skipper before 0.27.35 has a vulnerability in the opaAuthorizeRequestWithBody filter that allows bypassing deny-on-presence Rego policies for requests with oversized declared Content-Length when the body exceeds the size limit.
- CVE-2026-54247Medium
In Skipper prior to 0.26.22, the Handler in dataclients/kubernetes/admission/admission.go passes request bodies to the Kubernetes admission endpoint at :9443/admission directly to io.ReadAll(r.Body) without a size limit. An attacker with in-cluster network access and a valid Kubernetes client certificate can send a very large body, causing unbounded memory allocation and an out-of-memory termination of the Skipper process.
- CVE-2026-54246Medium
Skipper before version 0.27.13 exposes cluster-wide control-plane data via /routes, /routes/{zone}, /swarm/redis/shards, and /swarm/valkey/shards without application-layer authentication. The handlers only restrict HTTP methods and do not authenticate callers. A compromised pod can bypass namespace-scoped RBAC and read sensitive data across namespaces.
- CVE-2026-50197High
Vulnerability in Skipper (HTTP router and reverse proxy) before version 0.26.10 allows bypassing request body inspection for HTTP/1.1 Transfer-Encoding: chunked and HTTP/2 requests without content-length header via OpenPolicyAgent integration. Attacker can send malicious data that is not inspected but reaches the upstream service.
Original NVD description (English source)
Skipper contains an incomplete fix for CVE-2026-50197 in which oversized request bodies bypass Open Policy Agent (OPA) deny-on-presence Rego policies. When a request body exceeds the configured maxBodyBytes limit, Skipper forwards the full payload to the upstream service while OPA evaluates against an empty parsed_body, so policies that deny requests based on body content are not enforced and forbidden actions proceed. No fixed version is available; v0.27.26 adds documentation guidance only.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

