Permissions, Privileges, and Access Controls in CouchDB - CVE-2017-12635

 

Permissions, Privileges, and Access Controls in CouchDB - CVE-2017-12635

Published: January 30, 2019 / Updated: October 30, 2024


Vulnerability identifier: #VU17274
CSH Severity: Low
CVSS v4: 5.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N]
CVE-ID: CVE-2017-12635
CWE-ID: CWE-264
Exploitation vector: Remote access
Exploit availability: Public exploit is available

Vulnerability details

The vulnerability allows a remote attacker to escalate privileges on the system.

The vulnerability exists due differences in the Erlang-based JSON parser and JavaScript-based JSON parser that can lead to submitting "_users" documents with duplicate keys for "roles" used for access control within the database, including the "_admin" role. A remote authenticated user can create a specially crafted document and abuse the JSON parser differences result in behavior for two 'roles' keys within a single document and gain administrative privileges within the database.



Affected software

CouchDB
Arch Linux
Gentoo Linux
Fedora
erlang-jiffy
couchdb

How to mitigate CVE-2017-12635

Install updates from vendor's website.

CouchDB - addressed in versions 1.7.0, 2.1.1
erlang-jiffy - addressed in versions 0.14.13-1.fc26, 0.14.13-1.fc27
couchdb - addressed in versions 1.7.1-3.fc26, 1.7.1-3.fc27

Links to Public Exploits and PoC-codes

External References

Related Security Bulletins