Auth bypass in Apache Couchdb
CVE-2020-1955
CouchDB version 3.0.0 shipped with a new configuration setting that governs access control to the entire database server called `require_valid_user_except_for_up`. It was meant as an extension to the long standing setting `require_valid_user`, which in turn requires that any and all requests to CouchDB will have to be made with valid credentials, effectively forbidding any anonymous requests. The new `require_valid_user_except_for_up` is an off-by-default setting that was meant to allow requiring valid credentials for all endpoints except for the `/_up` endpoint. However, the implementation of this made an error that lead to not enforcing credentials on any endpoint, when enabled. CouchDB versions 3.0.1[1] and 3.1.0[2] fix this issue.
Vulnerability class: Broken Authentication
EPSS: 0.018 (77.7th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 9.8 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
Affected products
- Apache Couchdb — versions 3.0.0
- N/a Apache Couchdb — versions Apache CouchDB 3.0.0
Weakness classification (CWE)
References
- security@apache.org (x_refsource_MISC, Mitigation, Vendor Advisory)
Frequently asked questions
- What is CVE-2020-1955?
- CVE-2020-1955 is a critical-severity vulnerability in Apache Couchdb, classified under Missing Authentication for Critical Function. CVSS score: 9.8/10. Published 2020-05-20.
- How severe is CVE-2020-1955?
- Critical severity. CVSS v3 base score is 9.8 out of 10.