漏洞原理:
Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)。

在2017年11月15日,CVE-2017-12635和CVE-2017-12636披露,CVE-2017-12635是由于Erlang和JavaScript对JSON解析方式的不同,导致语句执行产生差异性导致的。这个漏洞可以让任意用户创建管理员,属于垂直权限绕过漏洞。

漏洞复现:
捉包发送以后内容
利用Vulnhub复现漏洞 - Couchdb 垂直权限绕过漏洞(CVE-2017-12635)_第1张图片
返回403错误,发送一次包含两个roles字段的数据包,即可绕过限制
利用Vulnhub复现漏洞 - Couchdb 垂直权限绕过漏洞(CVE-2017-12635)_第2张图片
成功创建管理员,账户密码均为vulhub
再次访问http://your-ip:5984/_utils/,输入账户密码nnn,可以成功登录: