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.
CVE-2017-12635
Score elevated to 9.8 because EPSS predicts 94% probability of exploitation within the next 30 days (top 0.1% of all CVEs). NVD baseline CVSS 9.8 retained for reference. Confidence: see factors.
- High exploitation likelihood — EPSS 100%
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(high)
- EPSS
- 100.0%
- KEV
- Not listed
Published
November 14, 2017
Last Modified
May 13, 2026
Advisory Details (7)
Auto-updated Jun 21, 2026[SECURITY] [DLA 1252-1] couchdb security update
https://lists.debian.org/debian-lts-announce/2018/01/msg00026.htmlApache CouchDB - Arbitrary Command Execution (Metasploit) - Linux remote Exploit
https://www.exploit-db.com/exploits/45019/Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation - Linux webapps Exploit
https://www.exploit-db.com/exploits/44498/CouchDB: Multiple vulnerabilities (GLSA 201711-16) — Gentoo security
https://security.gentoo.org/glsa/201711-16Data Freshness Timeline
(refreshed 0× in last 7d / 6× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-06-23 21:30 UTCEPSS rescore
- 2026-06-19 12:55 UTCOSV refresh
- 2026-06-15 17:45 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-11 13:57 UTCEPSS rescore
- 2026-06-10 22:15 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-02 20:11 UTCEPSS rescore
- 2026-06-01 13:49 UTCEPSS rescore
- 2026-06-01 13:49 UTCEPSS rescore
- 2026-05-30 20:53 UTCOSV refresh
- 2026-05-26 07:17 UTCEPSS rescore
- 2026-05-26 07:17 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-20 08:23 UTCEG score recompute
- 2026-05-20 08:23 UTCGHSA enrichment
- 2026-05-20 04:14 UTCEG score recompute
- 2026-05-20 04:14 UTCGHSA enrichment
- 2026-05-20 00:05 UTCEG score recompute
- 2026-05-20 00:05 UTCGHSA enrichment
- 2026-05-19 19:56 UTCEG score recompute
Show 12 moreShow fewer
- 2026-05-19 19:56 UTCGHSA enrichment
- 2026-05-19 15:47 UTCEG score recompute
- 2026-05-19 15:47 UTCGHSA enrichment
- 2026-05-19 11:38 UTCEG score recompute
- 2026-05-19 11:37 UTCGHSA enrichment
- 2026-05-19 07:24 UTCEG score recompute
- 2026-05-19 07:24 UTCGHSA enrichment
- 2026-05-19 03:10 UTCEG score recompute
- 2026-05-19 03:10 UTCGHSA enrichment
- 2026-05-18 23:01 UTCEG score recompute
- 2026-05-18 21:30 UTCEPSS rescore
- 2026-05-18 21:30 UTCEPSS rescore
Publicly available exploits
(6 references)Working exploit code is in the public domain (2 Metasploit modules) (1 GitHub PoC) (2 Exploit-DB entries). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoCassalielmehdi/CVE-2017-12635First seen Nov 7, 2019
Case study and POC of CVE-2017-12635: Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation
Open source ↗ - Exploit-DBEDB-45019✓ verifiedFirst seen Jul 13, 2018
Apache CouchDB - Arbitrary Command Execution (Metasploit)
Open source ↗ - Exploit-DBEDB-44498First seen Apr 23, 2018
Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation
Open source ↗ - Metasploitauxiliary/scanner/couchdb/couchdb_enum✓ verifiedFirst seen Jan 1, 2017
CouchDB Enum Utility
Open source ↗ - Nucleihttp/cves/2017/CVE-2017-12635.yamlFirst seen Jan 1, 2017
Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation
Open source ↗ - Metasploitexploit/linux/http/apache_couchdb_cmd_exec✓ verifiedFirst seen Apr 6, 2016
Apache CouchDB Arbitrary Command Execution
Open source ↗
Frequently asked(5)
What is CVE-2017-12635?
When was CVE-2017-12635 disclosed?
Is CVE-2017-12635 actively exploited?
What is the CVSS score of CVE-2017-12635?
How do I remediate CVE-2017-12635?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2017-12635
Is Your Infrastructure Affected by CVE-2017-12635?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.