CVE-2020-13921
published 2020-08-05CVE-2020-13921: **Resolved** Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases.
PriorityP265critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
33.48%
98.2th percentile
**Resolved** Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases.
Affected
5 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| apache | skywalking | — | — |
| apache | skywalking | — | — |
| apache | skywalking | — | — |
| apache | skywalking | — | — |
| apache | skywalking | — | — |
Detection & IOCsextracted from sources · hover to see the quote
url/graphql
snort
alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET WEB_SPECIFIC_APPS Apache SkyWalking GraphQL SQL Injection Inbound (CVE-2020-13921)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/graphql"; fast_pattern; http.request_body; content:"|7b 22|query"; nocase; startswith; content:"|27 29|'"; pcre:"/^\s?.{0,100}(?:SELECT|UNION|CHAR|LONGVARCHAR|SCHEMA|FROM|WHERE|IFNULL|INSERT|UPDATE)/R"; reference:url,blog.csdn.net/caiqiiqi/article/details/107857173; reference:cve,2020-13921; classtype:attempted-admin; sid:2033403; rev:2;)bytes
|7b 22|query
bytes
|27 29|
- →Attack arrives as an HTTP POST request to the /graphql endpoint; detect by matching POST method combined with the /graphql URI path.
- →Request body begins with the bytes 7B 22 ('"{ "') followed by the word 'query' (case-insensitive), indicating a GraphQL query payload used to deliver the injection.
- →The SQL injection payload contains the byte sequence 27 29 (i.e., "') ") — a single-quote followed by a closing parenthesis — used to break out of the SQL wildcard query context.
- →After the quote/paren escape sequence, the payload contains classic SQL injection keywords; PCRE match for SELECT, UNION, CHAR, LONGVARCHAR, SCHEMA, FROM, WHERE, IFNULL, INSERT, or UPDATE within 100 characters.
- →Vulnerability is only exploitable when H2, MySQL, or TiDB is configured as the Apache SkyWalking storage backend; scope detection/patching efforts accordingly. ↗
- →MITRE ATT&CK mapping: TA0001 Initial Access / T1190 Exploit Public-Facing Application — prioritize perimeter detection on internet-exposed SkyWalking instances.
- ·The SQL injection is only present when H2, MySQL, or TiDB is used as the storage backend. Elasticsearch-backed deployments are NOT affected and do not require the same detection priority. ↗
CVSS provenance
nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
Stop checking back — get the weekly exploitation signal.
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.
OSV
SQL Injection in Apache SkyWalking
osv·2021-05-07
CVE-2020-13921 [CRITICAL] SQL Injection in Apache SkyWalking
SQL Injection in Apache SkyWalking
Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases.
GHSA
SQL Injection in Apache SkyWalking
ghsa·2021-05-07
CVE-2020-13921 [CRITICAL] CWE-89 SQL Injection in Apache SkyWalking
SQL Injection in Apache SkyWalking
Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases.
OSV
CVE-2020-13921: **Resolved** Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases
osv·2020-08-05
CVE-2020-13921 CVE-2020-13921: **Resolved** Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases
**Resolved** Only when using H2/MySQL/TiDB as Apache SkyWalking storage, there is a SQL injection vulnerability in the wildcard query cases.
Suricata
ET WEB_SPECIFIC_APPS Apache SkyWalking GraphQL SQL Injection Inbound (CVE-2020-13921)
suricata·2021-07-24·CVSS 9.8
CVE-2020-13921 [CRITICAL] ET WEB_SPECIFIC_APPS Apache SkyWalking GraphQL SQL Injection Inbound (CVE-2020-13921)
ET WEB_SPECIFIC_APPS Apache SkyWalking GraphQL SQL Injection Inbound (CVE-2020-13921)
Rule: alert http any any -> [$HOME_NET,$HTTP_SERVERS] any (msg:"ET WEB_SPECIFIC_APPS Apache SkyWalking GraphQL SQL Injection Inbound (CVE-2020-13921)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/graphql"; fast_pattern; http.request_body; content:"|7b 22|query"; nocase; startswith; content:"|27 29|"; pcre:"/^\s?.{0,100}(?:SELECT|UNION|CHAR|LONGVARCHAR|SCHEMA|FROM|WHERE|IFNULL|INSERT|UPDATE)/R"; reference:url,blog.csdn.net/caiqiiqi/article/details/107857173; reference:cve,2020-13921; classtype:attempted-admin; sid:2033403; rev:2; metadata:created_at 2021_07_24, cve CVE_2020_13921, confidence High, signature_severity Major, tag Description_Generated_By_Proofpoint_Nexus, upd
No public exploits indexed.
No writeups or analysis indexed.
http://www.openwall.com/lists/oss-security/2020/08/05/3https://github.com/apache/skywalking/pull/4970https://lists.apache.org/thread.html/r6f3a934ebc54585d8468151a494c1919dc1ee2cccaf237ec434dbbd6%40%3Cdev.skywalking.apache.org%3Ehttp://www.openwall.com/lists/oss-security/2020/08/05/3https://github.com/apache/skywalking/pull/4970https://lists.apache.org/thread.html/r6f3a934ebc54585d8468151a494c1919dc1ee2cccaf237ec434dbbd6%40%3Cdev.skywalking.apache.org%3E
2020-08-05
Published