Description
Quarkus is a Java framework for building cloud-native applications. In versions prior to 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, and 3.35.2, a path normalization inconsistency between the security layer and the routing layer allows unauthenticated or lower-privileged users to bypass HTTP path-based authorization policies. Quarkus's security layer performs authorization checks on the raw URL path which preserves matrix parameters (semicolons), while RESTEasy Reactive's routing layer strips matrix parameters before matching endpoints. An attacker can append a semicolon and arbitrary text to a request URL (e.g., /api/admin;anything) to bypass policies protecting /api/admin while still routing to the protected endpoint. This issue has been fixed in versions 3.20.6.1, 3.27.3.1, 3.33.1.1, 3.35.1.1, 3.34.7, and 3.35.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| quarkusio | quarkus | < 3.20.6.1, >= 3.27.3.0, < 3.27.3.1, >= 3.34.0, < 3.34.7, >= 3.35.0, < 3.35.2 | — |
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.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | apicurio-registry | 3.2.4-r0 | — |
| Wolfi rolling | keycloak-26.5 +3 | No fix yet | — |
| Wolfi rolling | keycloak-26.6 +2 | 26.6.1-r5 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | io.quarkus:quarkus-vertx-http | < 3.20.6.1 | 3.20.6.1 | GHSA-rc95-pcm8-65v9 |
| Maven | io.quarkus:quarkus-vertx-http | >= 3.21.0, < 3.27.3.1 | 3.27.3.1 | GHSA-rc95-pcm8-65v9 |
| Maven | io.quarkus:quarkus-vertx-http | >= 3.30.0, < 3.33.1.1 | 3.33.1.1 | GHSA-rc95-pcm8-65v9 |
| Maven | io.quarkus:quarkus-vertx-http | >= 3.34.0, < 3.35.1.1 | 3.35.1.1 | GHSA-rc95-pcm8-65v9 |