CVE-2023-38493 – com.linecorp.armeria:armeria
Package
Manager: maven
Name: com.linecorp.armeria:armeria
Vulnerable Version: >=0 <1.24.3
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
EPSS: 0.00169 pctl0.38588
Details
Paths contain matrix variables bypass decorators ### Impact Spring supports [Matrix variables](https://docs.spring.io/spring-framework/reference/web/webmvc/mvc-controller/ann-methods/matrix-variables.html). 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.*"`
Metadata
Created: 2023-07-25T18:24:39Z
Modified: 2023-07-25T18:24:39Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/07/GHSA-wvp2-9ppw-337j/GHSA-wvp2-9ppw-337j.json
CWE IDs: ["CWE-863"]
Alternative ID: GHSA-wvp2-9ppw-337j
Finding: F006
Auto approve: 1