CVE-2017-12635

Due to differences in the Erlang-based JSON parser and JavaScript-based JSON parser, it is possible in Apache CouchDB before 1.7.0 and 2.x before...

Basic Information

CVE State
PUBLISHED
Reserved Date
August 07, 2017
Published Date
November 14, 2017
Last Updated
September 17, 2024
Vendor
Apache Software Foundation
Product
Apache CouchDB
Description
Due to differences in the Erlang-based JSON parser and JavaScript-based JSON parser, it is possible in Apache CouchDB before 1.7.0 and 2.x before 2.1.1 to submit _users documents with duplicate keys for 'roles' used for access control within the database, including the special case '_admin' role, that denotes administrative users. In combination with CVE-2017-12636 (Remote Code Execution), this can be used to give non-admin users access to arbitrary shell commands on the server as the database system user. The JSON parser differences result in behaviour that if two 'roles' keys are available in the JSON, the second one will be used for authorising the document write, but the first 'roles' key is used for subsequent authorization for the newly created user. By design, users can not assign themselves roles. The vulnerability allows non-admin users to give themselves admin privileges.

CVSS Scores

EPSS Score

Score
94.15% (Percentile: 99.90%) as of 2025-04-29

Exploit Status

Exploited in the Wild
Yes (added 2025-04-24 00:00:00 UTC) Source

Known Exploited Vulnerability Information

Source Added Date
The Shadowserver (via CIRCL) 2025-04-25 00:00:00 UTC

Potential Proof of Concepts

Warning: These PoCs have not been tested and could contain malware. Use at your own risk.

apache_couchdb_cmd_exec

Type: metasploit • Created: Unknown

Metasploit module for CVE-2017-12635

cyberharsh/Apache-couchdb-CVE-2017-12635

Type: github • Created: 2020-06-19 20:48:28 UTC • Stars: 1

assalielmehdi/CVE-2017-12635

Type: github • Created: 2019-11-07 20:02:31 UTC • Stars: 10

Case study and POC of CVE-2017-12635: Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation