CVE-2017-12635

CVE-2017-12635 is a critical-severity vulnerability in Apache Couchdb with a CVSS 3.x base score of 9.8. Its EPSS exploit-prediction score of 100% places it in the 100th percentile, indicating an elevated likelihood of exploitation. The underlying weakness is classified as CWE-269.

Key facts

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.

Frequently asked questions

What is 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 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.
How severe is CVE-2017-12635?
CVE-2017-12635 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
Is CVE-2017-12635 being actively exploited?
It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 100% (100th percentile), an estimate of the probability of exploitation in the next 30 days.
What products are affected by CVE-2017-12635?
CVE-2017-12635 primarily affects Apache Couchdb. In total, 6 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
How do I fix CVE-2017-12635?
Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
When was CVE-2017-12635 published?
CVE-2017-12635 was published on 2017-11-14 and last updated on 2026-06-17.

References

Affected products (6)

More vulnerabilities in Apache Couchdb

All CVEs affecting Apache Couchdb →

Other CWE-269 (Improper Privilege Management) vulnerabilities

Browse all CWE-269 (Improper Privilege Management) vulnerabilities →