Skip to content
OpenAdvisories
Medium · 5.4 CVE-2023-27488 EUVD-2023-31255

Envoy gRPC client produces invalid protobuf when an HTTP header with non-UTF8 value is received.

Published Apr 4, 2023 · Updated Feb 11, 2025 · Assigned by GitHub_M

Description

Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to versions 1.26.0, 1.25.3, 1.24.4, 1.23.6, and 1.22.9, escalation of privileges is possible when `failure_mode_allow: true` is configured for `ext_authz` filter. For affected components that are used for logging and/or visibility, requests may not be logged by the receiving service.

When Envoy was configured to use ext_authz, ext_proc, tap, ratelimit filters, and grpc access log service and an http header with non-UTF-8 data was received, Envoy would generate an invalid protobuf message and send it to the configured service. The receiving service would typically generate an error when decoding the protobuf message. For ext_authz that was configured with ``failure_mode_allow: true``, the request would have been allowed in this case. For the other services, this could have resulted in other unforeseen errors such as a lack of visibility into requests.

As of versions 1.26.0, 1.25.3, 1.24.4, 1.23.6, and 1.22.9, Envoy by default sanitizes the values sent in gRPC service calls to be valid UTF-8, replacing data that is not valid UTF-8 with a `!` character. This behavioral change can be temporarily reverted by setting runtime guard `envoy.reloadable_features.service_sanitize_non_utf8_strings` to false. As a workaround, one may set `failure_mode_allow: false` for `ext_authz`.

Affected products

VendorProductAffectedFixed
envoyproxy envoy >= 1.25.0, <1.25.3, >= 1.24.0, < 1.24.4, >= 1.23.0, < 1.23.6, < 1.22.9 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 ecs-service-connect-agent v1.25.4.0-1.amzn2023 ALAS2023-2023-165

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 istio +1 1.15.7-1.el8 ELSA-2023-12356, ELSA-2023-12354
Oracle Linux 8 kubeadm +2 1.24.8-2.el8 ELSA-2023-12356, ELSA-2023-12354
Oracle Linux 8 olcne-rook-chart +4 1.6.1-9.el8 ELSA-2023-23648, ELSA-2023-12354
Oracle Linux 8 olcnectl +11 1.5.12-6.el8 ELSA-2023-12356, ELSA-2023-12354
Oracle Linux 7 istio +1 1.15.7-1.el7 ELSA-2023-12357, ELSA-2023-12355
Oracle Linux 7 kubeadm +2 1.24.8-2.el7 ELSA-2023-12357, ELSA-2023-12355
Oracle Linux 7 olcne-rook-chart +4 1.6.1-9.el7 ELSA-2023-23649, ELSA-2023-12355
Oracle Linux 7 olcnectl +11 1.5.12-6.el7 ELSA-2023-12357, ELSA-2023-12355

Advisories 8

References