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…
- 9.8CriticalCVSS base score
- 99.8%Exploitation in 30 daysEPSS · top 0.1% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- 5Public exploitsMetasploit, Nuclei and Exploit-DB
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.
Public exploit
An exploit or proof of concept is public: anyone can try it against an unpatched system. The public collections list 2 Metasploit modules, a Nuclei template and 2 Exploit-DB entries for it. 2 references of the record are tagged as an exploit.
Show the exploits7
Metasploit modules2 modules
- Apache CouchDB Arbitrary Command Execution (Metasploit module) (opens in a new tab)
exploit/linux/http/apache_couchdb_cmd_execRank excellentdisclosed 6 Apr 2016
- CouchDB Enum Utility (Metasploit module) (opens in a new tab)
auxiliary/scanner/couchdb/couchdb_enumRank normal
Nuclei templates1 template
- Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation (Nuclei template) (opens in a new tab)
http/cves/2017/CVE-2017-12635.yamlSeverity critical
Exploit-DB2 entries
- Apache CouchDB - Arbitrary Command Execution (Metasploit) (Exploit-DB entry) (opens in a new tab)
EDB-ID 45019remote, linuxpublished 13 Jul 2018Verified
- Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation (Exploit-DB entry) (opens in a new tab)
EDB-ID 44498webapps, linuxpublished 23 Apr 2018Not verified
References tagged exploit2 references
- 44498 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- 45019 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
Modules, templates and exploits as listed by the Metasploit Framework (BSD-3-Clause), ProjectDiscovery's Nuclei templates (MIT) and the Exploit Database (GPLv2), read once a day. Where the data comes from
Timeline
ID reserved
By apache
- 3 months later
· 3 months later
Published
- 7 years later
· 7 years later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| NVDNVD · Modified | 3.0 | Critical9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 99.8% · top 0.1% of all CVEs (10 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: Critical 9.8.
Affected products
Apache Software Foundation · Apache CouchDB
- affected 1.2.0 to 1.6.1
- affected 2.0.0 to 2.1.0
References
7
- 44498 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- 45019 (opens in a new tab)exploitx_refsource_EXPLOIT-DBx_transferred
- [dev] 20171114 Apache CouchDB CVE-2017-12635 and CVE-2017-12636 (opens in a new tab)mailing-listx_refsource_MLISTx_transferred
- GLSA-201711-16 (opens in a new tab)vendor-advisoryx_refsource_GENTOOx_transferred
- [debian-lts-announce] 20180121 [SECURITY] [DLA 1252-1] couchdb security update (opens in a new tab)mailing-listx_refsource_MLISTx_transferred
- 101868 (opens in a new tab)vdb-entryx_refsource_BIDx_transferred
- https://support.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbmu03935en_us (opens in a new tab)x_refsource_CONFIRMx_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2017-4174 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2017-12635)Record last updated .