CVE-2017-12635
由于基于 Erlang 的 JSON 解析器与基于 JavaScript 的 JSON 解析器之间存在差异,在 Apache CouchDB 1.7.0 之前及 2.x 2.1.1 之前的版本中,可以提交带有重复 'roles' 键的 _users 文档,该键用于数据库内的访问控制,其中包括表示管理员用户的特殊...
- 已发布
- 2017年11月14日
- 已更新
- 2024年9月17日
- 分配 CNA
- apache
- 观察到的证据
- 2018年4月23日
初级CVSS
nvd · CVSS 2.0
AV:N/AC:L/Au:N/C:C/I:C/A:C高 · 未来 30 天
- 百分位
- 100.0%
- 型号日期
- 2026年10月13日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
由于基于 Erlang 的 JSON 解析器与基于 JavaScript 的 JSON 解析器之间存在差异,在 Apache CouchDB 1.7.0 之前及 2.x 2.1.1 之前的版本中,可以提交带有重复 'roles' 键的 _users 文档,该键用于数据库内的访问控制,其中包括表示管理员用户的特殊 '_admin' 角色。结合 CVE-2017-12636(远程代码执行),此问题可被利用来赋予非管理员用户以数据库系统用户身份在服务器上执行任意 shell 命令的权限。JSON 解析器的差异导致如下行为:若 JSON 中存在两个 'roles' 键,第二个键将用于授权文档写入,而第一个 'roles' 键则用于对新创建用户的后续授权。按照设计,用户不能自行分配角色。该漏洞允许非管理员用户为自己授予管理员权限。
来源
modules/auxiliary/scanner/couchdb/couchdb_enum.rb
Metasploit Framework modules声明的条件
- verification: check_declared($.auxiliary_scanner/couchdb/couchdb_enum.check)
http/cves/2017/CVE-2017-12635.yaml
Nuclei Templates声明的条件
- network: http($.protocol_keys)
- verification: status,word($.matchers[*].type)
couchdb/CVE-2017-12635
Apache Couchdb Remote Privilege Escalation (CVE-2017-12635)
Vulhub vulnerability labs声明的条件
- lab image version: vulhub/couchdb:2.1.0(couchdb/CVE-2017-12635/docker-compose.yml:services.couchdb.image)
- lab image version: buildpack-deps:focal-curl(couchdb/CVE-2017-12635/docker-compose.yml:services.initd.image)
modules/exploits/linux/http/apache_couchdb_cmd_exec.rb
Metasploit Framework modules声明的条件
- platform: Linux($.exploit_linux/http/apache_couchdb_cmd_exec.platform)
- verification: check_declared($.exploit_linux/http/apache_couchdb_cmd_exec.check)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。