CWE
269
Advisory Published
Updated

CVE-2017-12635

First published: Tue Nov 14 2017(Updated: )

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.

Credit: security@apache.org

Affected SoftwareAffected VersionHow to fix
Apache CouchDB<1.7.0
Apache CouchDB=2.0.0
Apache CouchDB=2.0.0-rc1
Apache CouchDB=2.0.0-rc2
Apache CouchDB=2.0.0-rc3
Apache CouchDB=2.0.0-rc4

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is the severity of CVE-2017-12635?

    CVE-2017-12635 is classified as a medium severity vulnerability due to potential access control issues.

  • How do I fix CVE-2017-12635?

    To fix CVE-2017-12635, upgrade Apache CouchDB to version 1.7.0 or 2.1.1 or later.

  • Which versions of Apache CouchDB are affected by CVE-2017-12635?

    Apache CouchDB versions before 1.7.0 and all 2.x versions prior to 2.1.1 are affected by CVE-2017-12635.

  • What kind of issues does CVE-2017-12635 expose?

    CVE-2017-12635 exposes issues with duplicate keys in '_users' documents that could affect access control.

  • Is there a special role associated with CVE-2017-12635?

    Yes, CVE-2017-12635 includes a special case for the '_admin' role in its access control vulnerabilities.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203