2.8. CVE-2017-12635:Apache CouchDB远程权限提升¶
日期: | 14.11.2017 |
---|---|
影响: | Apache CouchDB的所有版本 |
严重程度: | 临界的 |
小贩: | Apache软件基金会 |
2.8.1. 描述¶
由于CouchDB基于Erlang的JSON解析器和基于JavaScript的JSON解析器的不同,可以使用 roles used for access control within the database, including the special case _ admin`角色,表示管理用户。与 :ref:`CVE-2017-12636 <cve/2017-12636> (远程代码执行),这可用于让非管理员用户作为数据库系统用户访问服务器上的任意shell命令。
2.8.2. 缓解¶
所有用户都应该升级到CouchDB 1.7.1 或 2.1.1 .
从同一系列中以前的1.x和2.x版本升级应该是无缝的。
早期版本的用户或从1.x升级到2.x的用户应咨询升级说明。
2.8.3. 例子¶
JSON解析器的差异导致如果两个 roles JSON中有密钥,第二个密钥将用于授权文档写入,但第一个密钥将用于授权文档写入 roles 密钥用于新创建用户的后续授权。根据设计,用户不能为自己分配角色。该漏洞允许非管理员用户为自己授予管理员权限。
我们通过更新CouchDB在Erlang中解析JSON的方式来解决这个问题,模仿JavaScript在存在重复项时选择最后一个键的行为。
2.8.4. 信用卡¶
此问题由发现 Max Justicz .