GitHub Advisoryadvisory · Maven

GHSA-wvp2-9ppw-337j Paths contain matrix variables bypass decorators

HIGH Published 2023-07-25 Modified 2023-07-25 Official page ↗
Aliases
CVE-2023-38493
Ecosystem
Maven
Packages
com.linecorp.armeria:armeria
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-863
Reviewed
2023-07-25

Affected packages

• Maven com.linecorp.armeria:armeria: < 1.24.3 → fixed in 1.24.3

Description

Impact Spring supports Matrix variables. When Spring integration is used, Armeria calls Spring controllers via `TomcatService` or `JettyService` with the path that may contain matrix variables. In this situation, the Armeria decorators might not invoked because of the matrix variables. Let's see the following example: ``` // Spring controller @GetMapping("/important/resources") public String important() {...} // Armeria decorator ServerBuilder sb = ... sb.decoratorUnder("/important/", authService); ``` If an attacker sends a request with `/important;a=b/resources`, the request would bypass the authrorizer Patches • https://github.com/line/armeria-ghsa-wvp2-9ppw-337j/commit/9b0ec3e099cc05fbff11d7f1012a1dddb0000d0c Workarounds Users can add decorators using regex. `e.g. "regex:^/important.*"`

Related

Alias · CVE (1)

  • CVE-2023-38493 Armeria is a microservice framework Spring supports Matrix variables. vulnerability

Weakness · CWE (1)

  • CWE-863 Incorrect Authorization weakness

References