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年9月21日
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' 键则用于对新创建用户的后续授权。按照设计,用户不能自行分配角色。该漏洞允许非管理员用户为自己授予管理员权限。
来源
6基于Docker的复现环境,用于Apache CouchDB CVE-2017-12635垂直权限提升漏洞,该漏洞通过JSON解析器不一致性实现,允许未经验证的管理员创建。
逐步实验室演示如何利用 CVE-2017-12635(权限提升)和 CVE-2017-12636(远程代码执行)攻击 Apache CouchDB 1.6.0,并包含风险评估和修复指南。
- couchdb-exploit漏洞利用
利用 CouchDB CVE-2017-12635/12636 漏洞实现权限提升和远程代码执行(RCE),随后提供一个交互式 shell,支持命令执行、数据库浏览和反弹 shell。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。