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
- Severity: Critical (CVSS 3.x base score 9.8)
- CVSS v2: 10.0
- EPSS exploit prediction: 100% (100th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-269
- Affected product: Apache Couchdb
- Published:
- Last modified:
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
- http://www.securityfocus.com/bid/101868
- https://lists.apache.org/thread.html/6c405bf3f8358e6314076be9f48c89a2e0ddf00539906291ebdf0c67%40%3Cdev.couchdb.apache.org%3E
- https://lists.debian.org/debian-lts-announce/2018/01/msg00026.html
- https://security.gentoo.org/glsa/201711-16
- https://support.hpe.com/hpsc/doc/public/display?docLocale=en_US&docId=emr_na-hpesbmu03935en_us
- https://www.exploit-db.com/exploits/44498/
- https://www.exploit-db.com/exploits/45019/
Affected products (6)
- cpe:2.3:a:apache:couchdb:*:*:*:*:*:*:*:*
- cpe:2.3:a:apache:couchdb:2.0.0:*:*:*:*:*:*:*
- cpe:2.3:a:apache:couchdb:2.0.0:rc1:*:*:*:*:*:*
- cpe:2.3:a:apache:couchdb:2.0.0:rc2:*:*:*:*:*:*
- cpe:2.3:a:apache:couchdb:2.0.0:rc3:*:*:*:*:*:*
- cpe:2.3:a:apache:couchdb:2.0.0:rc4:*:*:*:*:*:*
More vulnerabilities in Apache Couchdb
- CVE-2022-24706 — Critical (CVSS 9.8): In Apache CouchDB prior to 3.2.2, an attacker can access an improperly secured default installation without…
- CVE-2020-1955 — Critical (CVSS 9.8): CouchDB version 3.0.0 shipped with a new configuration setting that governs access control to the entire database…
- CVE-2018-14889 — High (CVSS 7.8): CouchDB in Vectra Networks Cognito Brain and Sensor before 4.3 contains a local code execution vulnerability.
- CVE-2016-8742 — High (CVSS 7.8): The Windows installer that the Apache CouchDB team provides was vulnerable to local privilege escalation. All files in…
- CVE-2021-38295 — High (CVSS 7.3): In Apache CouchDB, a malicious user with permission to create documents in a database is able to attach a HTML…
- CVE-2018-17188 — High (CVSS 7.2): Prior to CouchDB version 2.3.0, CouchDB allowed for runtime-configuration of key components of the database. In some…
All CVEs affecting Apache Couchdb →
Other CWE-269 (Improper Privilege Management) vulnerabilities
- CVE-2026-31852 — Critical (CVSS 10.0): Jellyfin is an open-source media system. The code-quality.yml GitHub Actions workflow in jellyfin/jellyfin-ios is…
- CVE-2025-20282 — Critical (CVSS 10.0): A vulnerability in an internal API of Cisco ISE and Cisco ISE-PIC could allow an unauthenticated, remote attacker to…
- CVE-2025-0505 — Critical (CVSS 10.0): On Arista CloudVision systems (virtual or physical on-premise deployments), Zero Touch Provisioning can be used to gain…
- CVE-2023-48418 — Critical (CVSS 10.0): In checkDebuggingDisallowed of DeviceVersionFragment.java, there is a possible way to access adb before SUW…
- CVE-2023-48419 — Critical (CVSS 10.0): An attacker in the wifi vicinity of a target Google Home can spy on the victim, resulting in Elevation of Privilege
- CVE-2023-31273 — Critical (CVSS 10.0): Protection mechanism failure in some Intel DCM software before version 5.2 may allow an unauthenticated user to…
Browse all CWE-269 (Improper Privilege Management) vulnerabilities →