Un exploit crítico de día cero, conocido como Log4Shell, que afecta al Utilidad Apache Log4j (CVE-2021-44228) se hizo público el 9 de diciembre de 2021. Tan pronto como Couchbase tuvo conocimiento de este problema, lo investigamos inmediatamente en nuestros equipos de producto y seguridad, y tomamos medidas para proteger a nuestros clientes.
Hay dos productos de Couchbase afectados por este problema.
- Couchbase Server Enterprise Edition, cuando se ejecuta el servicio Couchbase Analytics, versiones 6.0.0 a 6.6.3 y versiones 7.0.0 a 7.0.2.
- Conector Couchbase Elasticsearch, versiones anteriores a 4.2.13 y 4.3.3.
Couchbase Server Community Edition no se ve afectado por esta vulnerabilidad, ya que este producto no contiene el servicio Couchbase Analytics.
La base de datos como servicio de Couchbase, Couchbase Capella, ha desactivado temporalmente la capacidad de desplegar el servicio de análisis. Además, los clústeres que ejecutan el servicio Analytics se han protegido con un parche de seguridad actualizado.
No tenemos conocimiento de ningún otro producto Couchbase afectado por el problema CVE-2021-44228. También observamos que no tenemos conocimiento de ningún producto Couchbase afectado por el Log4J adicional. CVE-2021-45046, CVE-2021-45105 y CVE-2021-44832 problemas de seguridad.
A medida que avanza nuestra investigación interna, podemos actualizar este post con cualquier información adicional pertinente, según sea necesario. Animamos a los suscriptores de Couchbase Enterprise a revisar nuestra publicación Artículo de la base de conocimientos (es necesario iniciar sesión) para obtener la información más actualizada.
Servidor Couchbase:
Couchbase Server versión 6.6.4 y Couchbase Server versión 7.0.3 con una actualización de software que resuelve esta vulnerabilidad han estado disponibles hoy, 14 de diciembre de 2021.
Recomendamos a todos los clientes que utilicen el servicio Couchbase Analytics que actualicen sus clusters inmediatamente. Visite nuestra página de descargas en http://couchbase.com/downloads para descargar estas nuevas versiones. Los clústeres de Couchbase Server que ejecutan el servicio Analytics y que son gestionados por el Operador Autónomo de Couchbase también se ven afectados y deben actualizarse a Couchbase Server 6.6.4 o 7.0.3, según corresponda, lo antes posible.
Hasta que los clientes actualicen a las versiones corregidas de Couchbase Server, utilice la siguiente solución para mitigar el riesgo de esta vulnerabilidad:
Este comando elimina el JndiLookup de cualquier versión de los archivos jar de log4j y protege contra este exploit:
$ find /opt/couchbase/lib/cbas/repo -name 'log4j-core*.jar' -type f | xargs -I{} sh -c 'echo patching {}; zip -q -d {} org/apache/logging/log4j/core/lookup/JndiLookup.class'
Para validar que la clase JndiLookup no está presente y que el comando de eliminación se ejecutó correctamente, puede ejecutar el siguiente comando:
$ find /opt/couchbase/lib/cbas/repo -name 'log4j-core*.jar' -type f | xargs -I{} unzip -l {} '*JndiLookup.class'
Archivo: /opt/couchbase/lib/cbas/repo/log4j-core-2.14.1.jar
Longitud Fecha Hora Nombre
——— ———- —– —-
——— ——-
0 0 archivos
Tras aplicar el comando de eliminación a cada nodo de análisis, el API de reinicio de clústeres para activar el reinicio de todos los nodos de Analytics.
También se anima a los suscriptores de Enterprise a que consulten nuestra publicación Artículo de la base de conocimientos para obtener más información sobre esta solución.
Couchbase Server cuando es gestionado por Couchbase Autonomous Operator:
Hasta que se publique una versión de contenedor con una actualización para Couchbase Server, en un entorno de contenedor se puede emplear la solución anterior con un conjunto diferente de pasos.
Copie el archivo jar específico del nodo a un sistema local y aplique la solución general. En Red Hat OpenShift, los comandos son similares. Por ejemplo:
$ kubectl cp
cb-ejemplo-0000:/opt/couchbase/lib/cbas/repo/jars/log4j-core-2.14.1.jar /tmp/log4j-core-2.14.1.jar
$ unzip -l /tmp/log4j-core-2.14.1.jar | grep -i JndiL
2937 03-06-2021 22:12 org/apache/logging/log4j/core/lookup/JndiLookup.class
$ zip -q -d /tmp/log4j-core-2.14.1.jar org/apache/logging/log4j/core/lookup/JndiLookup.class .
$ unzip -l /tmp/log4j-core-2.14.1.jar | grep -i JndiL | wc -l
0
A continuación, copie el archivo JAR modificado de nuevo en el pod. Por ejemplo:
$ kubectl cp /tmp/log4j-core-2.14.1.jar cb-ejemplo-0000:/opt/couchbase/lib/cbas/repo/jars/log4j-core-2.14.1.jar
Y por último, reinicie los procesos de Couchbase Server relacionados con Analytics utilizando el comando API de reinicio de clústeres indicado anteriormente. Cualquier pod nuevo creado a través de cambios en la configuración del recurso CouchbaseCluster o cualquier pod recreado en el curso de las operaciones normales necesitará que se vuelva a aplicar la mitigación.
Conector Couchbase Elasticsearch:
Animamos a todos los clientes a actualizar a las últimas versiones de Couchbase Elasticsearch Connector, que se proporciona con una solución para este problema. Las versiones 4.2.13 y 4.3.3 ya están disponibles. La dirección notas de la versión proporcionan detalles adicionales y enlaces de descarga. En el caso de que desee mitigar en el lugar, el Artículo de la base de conocimientos describe cómo actualizar el archivo JAR in situ.
Si tiene alguna pregunta, visite la página Foros de la comunidad Couchbase. Si usted es un cliente de Couchbase Enterprise y tiene preguntas adicionales, por favor abra un caso de apoyo.