First published: Tue Jul 25 2023(Updated: )
### 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.*"`
Credit: security-advisories@github.com security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
maven/com.linecorp.armeria:armeria | <=1.24.2 | 1.24.3 |
Linecorp Armeria | <1.24.3 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The vulnerability ID for this vulnerability is CVE-2023-38493.
The impact of this vulnerability is that Armeria calls Spring controllers with a path that may contain matrix variables in an insecure manner.
The severity of CVE-2023-38493 is high with a CVSS score of 7.5.
The Armeria microservice framework versions up to and including 1.24.2 are affected by CVE-2023-38493.
To fix CVE-2023-38493, upgrade to Armeria version 1.24.3 or later.