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.12.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 .