GPU VulnDB

Database/Container, Kubernetes & orchestration

Skipper: OPA body policies authorize oversized requests because truncated_body is derived from Content-Length

CVSS 7.5CVE-2026-86043Container, Kubernetes & orchestrationcurated

Impact

The opaAuthorizeRequestWithBody filter truncates request bodies at maxBodyBytes before handing them to Open Policy Agent, but the input.truncated_body signal is computed from Content-Length rather than from what was actually read, and the envoy adapter copies headers without writing a Content-Length that reflects the truncation. For an HTTP/1.1 chunked request or an HTTP/2 request with no Content-Length, a body-inspecting policy that follows the documented mitigation and only permits requests where truncated_body is false will evaluate the prefix, allow the request, and Skipper forwards the entire oversized body upstream. Where Skipper is the ingress in front of inference or control-plane services, this is a policy bypass at the edge - the authorization decision was made on content the upstream never receives in full. Distinct from CVE-2026-50197, which it follows.

Who can reach it

Anyone who can send requests to a Skipper route using opaAuthorizeRequestWithBody, unauthenticated, using chunked transfer encoding or HTTP/2 without Content-Length. Reachability equals whatever the ingress is exposed to.

What to do

Upgrade Skipper to 0.27.37 or later and restart the proxy instances - a rolling restart of the ingress deployment, no node work. Advisory-level mitigation in the meantime is to not rely on input.truncated_body alone for body-inspecting OPA policies.

References

Related entries

All Container, Kubernetes & orchestration entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.