Quarkus authorization bypass via semicolon path normalization inconsistency
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 3.20.6.1, 3.27.3.1, 3.34.7, 3.35.2, 3.33.1.1, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- quarkusio quarkus
fixed in 3.20.6.1; From 3.27.3.0 · fixed in 3.27.3.1; From 3.34.0 · fixed in 3.34.7; From 3.35.0 · fixed in 3.35.2
- io.quarkus:quarkus-vertx-httpMaven
fixed in 3.20.6.1
- io.quarkus:quarkus-vertx-httpMaven
From 3.21.0 · fixed in 3.27.3.1
- io.quarkus:quarkus-vertx-httpMaven
From 3.30.0 · fixed in 3.33.1.1
- io.quarkus:quarkus-vertx-httpMaven
From 3.34.0 · fixed in 3.35.1.1