Uma política errada pode ser uma porta aberta. Você tem que verificar `input.attributes.request.http.truncated_body` na sua política. Correção incompleta para CVE- 2026 - 50197: um corpo declarado de tamanho excessivo, `Content-Longth`, ainda dá à OPA um `parsed_body' vazio, assim que as políticas de Rego de negação na presença falham ABRIR enquanto a carga útil completa chega ao nível ascendente. O CVE- 2026 - 50197 corrigir (commit ` 3152 f 3 b 0 `, PR # 4041, v 0.26.10 ) substituído ` expectedSize = maxBodyBytes ' somente quando ` req.ContentLongth maxBodyBytes`, a extração do corpo `if' é ignorada inteiramente, e `ExtrairHttpBodyOptionally` retorna `rawBodyBytes = nul` — assim que OPA avalia um `parsed_body' vazio, enquanto a carga útil proibida completa ainda flui para o amont. Uma política de negação em presença (`default allow = true; allow = false se input.parsed_body. `) — a forma exata do Rego que o aviso descreve — falha em ABRIR. Os próprios comentários da correção são apenas sobre o `ContentLongth == - 1 `; o ramo sobredimensionado nunca foi considerado, e o teste de PoC adicionado cobre apenas corpos pequenos.

- `filters/openpolicyagent/openpolicyagent.go` `ExtractHttpBodyOptionalmente`: o 'espectatedSize <= maxBodyBytes` portão permite que um corpo declarado sobredimensionado caia para `return req.Body, nil, func() {}, nil` (OPA vê um documento vazio). - Corroborado pelo próprio teste de unidade do Skipper "Leia corpo exaustivo de max bytes" (`{ "benvindo": "mundo" }`, `maxBodySize: 5 ` → ` corpo inPolítica: ""`). ### Passos para reproduzir. Veja o anexo `docker-compose.yml` (imagem oficial `golang`) + `setup.sh` + `exploit.sh`, que executa um proxy de Skipper real (`proxytest`) com um plano de controle real da OPA (`opasdktest`), `WithMaxRequestBodyBytes( 32 )`, política `allow = false if input.parsed_body.action == "delete"`, rota `* -> opaAutorizeRequestWithBody("test") -> a montante`: - `{"action":"delete"}` ( 19 B ≤ 32 ) → ** 403 ** (negado). - `{"ação":"delete","pad":"X.. 64 "}` (> 32 ) → ** 200 **, a montante recebeu o corpo completo (BYPASS). - pequenos fragmentos `{"ação":"delete"}` → ** 403 ** (controle positivo: o CVE original está corrigido). (Tiro de biblioteca: validado através do real arnês de teste proxy do Skipper, não uma implantação da imagem oficial; oráculo benigno = diff de estado + corpo recebido a montante; sem RCE.)

As implantações que autorizam o conteúdo do corpo de solicitação através de `opaAuthorizeRequestWithBody` + ney-on-presence Rego podem ser evitadas inflando o corpo de solicitação além de `-open-policy-agent-max-request-body-size` (por omissão 1 MB); a carga útil completa ainda atinge o nível a montante. Documente como os donos da política devem bloquear as solicitações com corpos sobredimensionados. Exemplo negar por padrão e usar "permitir se" nenhum corpo sobredimensionado: ``` rego padrão permit:= false.

permite se { input.attributes.request.http.truncated_body == falso #... condições baseadas no corpo } ``` Exemplo permitir por padrão e usar "deny if" um corpo sobredimensionado: ```rego predefinido negue:= false negue se { input.attributes.request.http.truncated_body == true #... condições baseadas no corpo } ```.

A documentação é publicada por 0.27.26. Relatou como parte de um estudo de medição incompleto (disclosão responsável). Registro de aconselhamento: GHSA- 8 qqm- fp 2 q-v 734. Não há nenhum identificador adicional listado. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 17 T 21: 49: 48.000 Z e lista a sua última modificação como 2026 - 07 - 17 T 21: 49: 48.000 Z.

Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N. Software afetado e informações de versão: Vá pacote github.com/zalando/skipper — ECOSISTEM: introduzido 0, corrigido 0.27.26. Classificação e evidência: nenhum identificador CWE está listado. O registro contém 3 suporte de referências nestes tipos: WEB, PACKAGE.