CVE intelligence and bounded remediation

CVE-2017-12635 — Apache Couchdb security vulnerability

Critical CVSS 9.8

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.

Severity
Critical
CVSS
9.8 (3.0)
Published
2017-11-14
CISA KEV
Not currently listed
Ecosystem
javascript/npm
Weaknesses
CWE-269

Affected products

  • apache / couchdb
  • apache / couchdb / 2.0.0

Showing 2 representative product identities from 6 source matches. Confirm exact affected versions with the linked vendor and NVD evidence.

Matched remediation archetype

Privilege escalation and unsafe privilege management

This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.

Check exposure

  • Map service accounts, operating-system identities, roles, capabilities, impersonation, set-user transitions, and administrative helper paths.
  • Determine whether untrusted users or lower-privilege processes can reach the affected transition or modify inputs it trusts.
  • Review file, socket, registry, device, job, container, and cloud-role permissions used before and after privilege changes.

Remediate safely

  • Apply the supported fix and redesign privileged operations as a minimal, authenticated, allowlisted interface.
  • Drop privileges before processing untrusted input, verify the drop succeeds, and remove unnecessary roles, capabilities, and write permissions.
  • Validate ownership and permissions at time of use and add explicit lower-to-higher privilege boundary tests.

Authoritative sources

Complete CVE record and remediation plan

The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.