Apache officially issued the risk for Apache CouchDB privilege escalation vulnerability CVE-2022-24706 with critical severity. This vulnerability can allow attackers to execute code on a targeted client or server without being authenticated if not patched properly. Since this vulnerability allows attackers to access an improperly secured installation to gain admin privileges without authentication, there is a need to mitigate the risk. This article will discuss how to fix CVE-2022-24706, a privilege escalation vulnerability in Apache CouchDB.
About Apache CouchDB
Apache CouchDB allows you to access data where required. The Couch Replication Protocol is applied in different projects and products spanning every imaginable computing environment. It ranges from globally distributed server clusters and mobile phones to web browsers.
This protocol enables data to flow seamlessly between server clusters to web browsers and mobile phones, enabling a compelling offline-first user experience. It is done while maintaining strong reliability and high performance. CouchDB comes with the developer-friendly query language and MapReduce for efficient, simple, and comprehensive data retrieval.
Summary Of CVE-2022-24706
The flaw allows an attacker to access a default installation with admin privileges without authentication.
- CouchDB opens a random network port bound to the available interfaces apprehension of clustered operation or runtime introspection. A utility process known as epmd advertises the random port to the network. The epmd itself listens on the fixed port.
- CouchDB packaging opted for a default cookie value for single-node and clustered installations previously. That cookie authenticates the communication between Erlang nodes.
The CouchDB documentation has always given recommendations for securing an installation properly. However, all users do not follow the advice.
They recommend a firewall in front of each CouchDB installation. The full CouchDB API is available on the registered port ‘5984’. It’s the only port that requires to be exposed for a single-node installation. The installations that do not expose a separate distribution port to external access are not vulnerable.
|Associated CVE ID||CVE-2022-22966|
|Description||Privilege Escalation Vulnerability in Apache CouchDb|
|Associated ZDI ID||–|
|CVSS Score||9.8 Critical|
|Attack Vector (AV)||Network|
|Attack Complexity (AC)||Low|
|Privilege Required (PR)||None|
|User Interaction (UI)||None|
Products Affected By CVE-2022-24706
Security researcher Alex Vandiver says, CouchDB v3.2.1 and earlier are affected by the flaw.
Vendor: Apache Software Foundation
Product: Apache CouchDB
Versions Affected: <=3.2.1: affects 3.2.1 and prior versions
How To fix CVE-2022-24706-A Privilege Escalation Vulnerability In Apache CouchDB?
- Upgrade CouchDB to v3.2.2 and later once it is available, as CouchDB v3.2.2 and latest will refuse to start with a former default Erlang cookie value of ‘monster’. Installations upgraded to this version are forced to select a different value.
- Network firewalls needed to be deployed in front of the CouchDB installations and block all the network ports except port ‘5984’, which is the default port that CouchDB API works on.
- Moreover, all binary packages have been updated to bind the epmd and the CouchDB distribution port to 127.0.0.1 or::1, respectively.