Skip to content

Incorrect concatenation of multiple value request headers in ext-authz extension

High
lizan published GHSA-6g4j-5vrw-2m8h Aug 24, 2021

Package

No package listed

Affected versions

1.19.0, 1.18.3, 1.17.3, 1.16.4

Patched versions

1.19.1, 1.18.4, 1.17.4, 1.16.5

Description

CVSS score 8.6 (High), Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

When ext-authz extension is sending request headers to the external authorization service it must merge multiple value headers according to the HTTP spec. However, only the last header value is sent. This may allow specifically crafted requests to bypass authorization.

Impact

Escalation of Privileges when using ext-authz extension or back end service that uses multiple value headers for authorization.

Attack vector

A specifically constructed request delivered by an untrusted downstream peer in the presence of ext-authz extension.

Patches

Envoy versions 1.19.1, 1.18.4, 1.17.4, 1.16.5 contain fixes to the ext-authz extension to correctly merge multiple request header values, when sending request for authorization.

Workarounds

None

Credits

Yangmin Zhu ymzhu@google.com

References

https://blog.envoyproxy.io
https://github.com/envoyproxy/envoy/releases

For more information

If you have any questions or comments about this advisory:

Open an issue in Envoy repo
Email us at envoy-security

Severity

High

CVE ID

CVE-2021-32777

Weaknesses

Credits