Description
Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.26.10, zalando/skipper's OpenPolicyAgent integration silently bypasses request-body inspection on HTTP/1.1 Transfer-Encoding: chunked and HTTP/2 requests that omit the content-length pseudo-header, because the opaAuthorizeRequestWithBody filter and OpenPolicyAgentInstance.ExtractHttpBodyOptionally in filters/openpolicyagent/openpolicyagent.go produce an empty raw_body and input.parsed_body while the upstream service receives the full attacker-controlled body. This issue is fixed in version 0.26.10.
Published: 2026-07-17
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The opaAuthorizeRequestWithBody filter in Skipper fails to inspect request bodies when the request uses the Transfer-Encoding: chunked header in HTTP/1.1 or omits the content-length pseudo‑header in HTTP/2. The filter produces an empty raw_body and parsed_body, so the upstream service receives the full, attacker‑controlled bodies that are not evaluated against OPA rules, potentially allowing unauthorized operations that rely on policy‑level controls.

Affected Systems

All versions of Zalando Skipper older than 0.26.10 are affected. Users of the open‑source Skipper HTTP router and reverse proxy running any pre‑0.26.10 release must assess whether the opaAuthorizeRequestWithBody filter is enabled and whether their deployments accept chunked or HTTP/2 requests without a content-length header.

Risk and Exploitability

The vulnerability scores a CVSS of 7.8, indicating a high severity. The EPSS score is below 1%, suggesting a low probability that attackers are actively exploiting it today, and it is not listed in the CISA KEV catalog. Nonetheless, the attack vector is straightforward for remote actors: a crafted chunked or HTTP/2 request to the Skipper instance with an unverified body will bypass OPA policy enforcement. The lack of a content‑length header is a typical configuration case in many services, making this flaw exploitable in real‑world deployments that rely on OPA for security validation.

Generated by OpenCVE AI on July 30, 2026 at 23:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Skipper to version 0.26.10 or later, which contains the requested body inspection fix.
  • If an immediate upgrade is not possible, remove or disable the opaAuthorizeRequestWithBody filter until are not silently ignored.
  • Configure incoming requests to enforce a Content‑Length header or disable chunked transfer encoding for HTTP/1.1 traffic that is routed through Skipper.

Generated by OpenCVE AI on July 30, 2026 at 23:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-659f-rgp5-w4wf Skipper: opaAuthorizeRequestWithBody filter bypasses OPA policy on Transfer-Encoding — chunked / HTTP/2 requests
History

Mon, 20 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 17 Jul 2026 22:00:00 +0000

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

Fri, 17 Jul 2026 20:00:00 +0000

Type Values Removed Values Added
Description Skipper is an HTTP router and reverse proxy for service composition. Prior to 0.26.10, zalando/skipper's OpenPolicyAgent integration silently bypasses request-body inspection on HTTP/1.1 Transfer-Encoding: chunked and HTTP/2 requests that omit the content-length pseudo-header, because the opaAuthorizeRequestWithBody filter and OpenPolicyAgentInstance.ExtractHttpBodyOptionally in filters/openpolicyagent/openpolicyagent.go produce an empty raw_body and input.parsed_body while the upstream service receives the full attacker-controlled body. This issue is fixed in version 0.26.10.
Title Skipper: opaAuthorizeRequestWithBody filter bypasses OPA policy on Transfer-Encoding: chunked / HTTP/2 requests
Weaknesses CWE-444
References
Metrics cvssV4_0

{'score': 7.8, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-20T14:33:29.442Z

Reserved: 2026-06-03T22:05:13.645Z

Link: CVE-2026-50197

cve-icon Vulnrichment

Updated: 2026-07-20T14:32:58.896Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T23:45:05Z

Weaknesses
  • CWE-444

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')