CVE-2020-9483
published 2020-06-30CVE-2020-9483: **Resolved** When use H2/MySQL/TiDB as Apache SkyWalking storage, the metadata query through GraphQL protocol, there is a SQL injection vulnerability, which…
PriorityP266high7.5CVSS 3.1
AVNACLPRNUINSUCHINAN
EXPLOIT
EPSS
34.61%
98.2th percentile
**Resolved** When use H2/MySQL/TiDB as Apache SkyWalking storage, the metadata query through GraphQL protocol, there is a SQL injection vulnerability, which allows to access unpexcted 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.
Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| apache | skywalking | — | — |
| apache | skywalking | 6.0.0 – 6.6.0 | — |
Detection & IOCsextracted from sources · hover to see the quote
otherPOST /graphql with 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"}}}↗
- →Exploit targets HTTP POST to /graphql endpoint with a GraphQL query containing a UNION-based SQL injection payload in the 'id' field of the metric parameter. ↗
- →Successful exploitation is indicated by the response body containing the injected UNION SELECT string or the error string 'Exception while fetching data', with HTTP 200 status and Content-Type: application/json. ↗
- →The vulnerability is exploited via the GraphQL protocol against Apache SkyWalking instances using H2, MySQL, or TiDB as storage backends (versions 6.0.0–6.6.0 and 7.0.0). ↗
- →GreyNoise observed IPs actively attempting to exploit CVE-2020-9483 (Apache SkyWalking GraphQL SQL Injection) with malicious intent; monitor for such IPs in network logs. ↗
- ·The SQL injection payload uses the 'all_p99' metric name and a UNION SELECT in the 'id' field; other metric names may also be injectable but this is the confirmed PoC payload. ↗
- ·The vulnerability only affects deployments using H2, MySQL, or TiDB storage backends; other storage backends are not impacted. ↗
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:P/I:N/A:N
CVEs like this are exactly what “Exploited This Week” covers.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
No detection rules found.
Nuclei
SkyWalking SQLI
nuclei·CVSS 7.5
CVE-2020-9483 [HIGH] SkyWalking SQLI
SkyWalking SQLI
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.
Template:
id: CVE-2020-9483
info:
name: SkyWalking SQLI
author: pikpikcu
severity: high
description: |
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.
impact: |
Successful exploitation of this vulnerability
2020-06-30
Published