CVE-2022-34296: Query predicate bypass in Zalando Skipper
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.40686%
CWE
-
Published
6/24/2022
Updated
8/17/2023
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/zalando/skipper | go | < 0.13.218 | 0.13.218 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the lack of raw query validation before processing query parameters in routing predicates. The fix introduced the ValidateQueryHandler in net/query.go, which parses the raw query upfront using url.ParseQuery(). In vulnerable versions, this validation was missing, allowing attackers to craft queries (e.g., 'foo=bar;') that bypassed predicate checks like Query("foo"). The vulnerable code path was the default request handling flow, which did not include this validation step. The key issue was not a specific function but the absence of the validation middleware, which allowed malformed queries to reach predicate logic with improperly parsed parameters.