| Title | Envoy >= 1.33.0 Injection (CWE-74) |
|---|
| Description | The header_mutation filter's query_parameter_mutations feature inserts values from formatters (such as %REQ(header)%) into query strings without URL encoding. Attacker-controlled header values containing & or = characters inject arbitrary query parameters. For example, a header value of legit&admin=true results in two query parameters instead of one. Other Envoy filters (OAuth2, gRPC transcoder) correctly use PercentEncoding::urlEncode() for this same operation. Root cause at header_mutation.cc:22 (params.add() without encoding) and utility.cc:1156 (toString() outputs raw values). Fix adds URL encoding controlled by runtime guard envoy.reloadable_features.header_mutation_url_encode_query_params.
https://github.com/envoyproxy/envoy/pull/43502 (merged 2026-02-18). Vendor contacted, acknowledged, and fixed. No CVE assigned. Not submitted to another CNA. |
|---|
| Source | ⚠️ https://github.com/envoyproxy/envoy/pull/43502 |
|---|
| User | lukefr09 (UID 97110) |
|---|
| Submission | 04/04/2026 22:31 (23 days ago) |
|---|
| Moderation | 04/24/2026 21:49 (20 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 359546 [Envoy up to 1.33.0 Query Parameter header_mutation.cc params.add injection] |
|---|
| Points | 20 |
|---|