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. Quarkuss security layer performs authorization checks on the raw URL path which preserves matrix parameters (semicolons), while RESTEasy Reactives 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.
The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Quarkus | Quarkus | * | 3.20.6.1 (excluding) |
| Quarkus | Quarkus | 3.21.0 (including) | 3.27.3.1 (excluding) |
| Quarkus | Quarkus | 3.28.0 (including) | 3.33.1.1 (excluding) |
| Quarkus | Quarkus | 3.34.0 (including) | 3.34.7 (excluding) |
| Quarkus | Quarkus | 3.35.0 (including) | 3.35.2 (excluding) |
| Cryostat 4 on RHEL 9 | RedHat | cryostat/cryostat-reports-rhel9:4.2.0-9 | * |
| Cryostat 4 on RHEL 9 | RedHat | cryostat/cryostat-rhel9:4.2.0-9 | * |
| Cryostat 4 on RHEL 9 | RedHat | cryostat/jfr-datasource-rhel9:4.2.0-9 | * |
| HawtIO HawtIO 4.4.0 | RedHat | quarkus-vertx-http | * |
| Red Hat Build of Apache Camel 4.14 for Quarkus 3.27 | RedHat | quarkus-vertx-http | * |
| Red Hat build of Quarkus 3.20.6.SP1 | RedHat | quarkus-vertx-http | * |
| Red Hat build of Quarkus 3.27.3.SP1 | RedHat | * | |
| Streams for Apache Kafka 2.9.4 | RedHat | quarkus-vertx-http | * |