|Affected:||All Versions of Apache CouchDB|
|Vendor:||The Apache Software Foundation|
Prior to CouchDB version 2.3.0, CouchDB allowed for runtime-configuration of key components of the database. In some cases, this lead to vulnerabilities where CouchDB admin users could access the underlying operating system as the CouchDB user. Together with other vulnerabilities, it allowed full system entry for unauthenticated users.
These vulnerabilities were fixed and disclosed in the following CVE reports:
- `CVE-2018-11769: Apache CouchDB Remote Code Execution
- `CVE-2018-8007: Apache CouchDB Remote Code Execution
- `CVE-2017-12636: Apache CouchDB Remote Code Execution`
- `CVE-2017-12635: Apache CouchDB Remote Privilege Escalation`
Rather than waiting for new vulnerabilities to be discovered, and fixing them as they come up, the CouchDB development team decided to make changes to avoid this entire class of vulnerabilities.
With CouchDB version 2.3.0, CouchDB no longer can configure key components at runtime. While some flexibility is needed for speciality configurations of CouchDB, the configuration was changed from being available at runtime to start-up time. And as such now requires shell access to the CouchDB server.
This closes all future paths for vulnerabilities of this type.
All users should upgrade to CouchDB 2.3.0.
Upgrades from previous 2.x versions in the same series should be seamless.
Users on earlier versions should consult with upgrade notes.
This issue was discovered by the Apple Information Security team.
2.3.0 – CouchDB Blog