Sophos News

La cuarta vulnerabilidad de Log4Shell: “Mucho ruido y pocas nueces”

¿Eres un administrador de sistemas que ha conseguido implementar las mitigaciones de Log4Shell a tiempo para la fecha límite impuesta por el Gobierno de los Estados Unidos, el 24 de diciembre de 2021?

Si es así, es posible que hayas disfrutado de unas minivacaciones navideñas junto con gran parte del resto del mundo, sólo para volver a la carga esta semana y encontrar que el equipo de Apache Log2j acaba de publicar el cuarto parche en lo que podríamos llamar la Saga de la Vulnerabilidad Log4Shell.

El fallo recién descubierto es CVE-2021-44832, parcheado en Log4j 2.17.1, anunciado el 28/12/2021.

Afortunadamente, a pesar de la comprensible publicidad que ha recibido este cuarto fallo, y que recomendamos parchearlo con prontitud de todos modos, actualmente sólo se califica como fallo moderado.

Este no parece ser directa y fácilmente explotable como la vulnerabilidad original CVE-2021-44228 que dio lugar al nombre Log4Shell en primer lugar.

La saga hasta ahora

Para resumir la saga hasta ahora, comenzamos aproximadamente el 9 de diciembre de 2021:

El cuarto fallo

Este nuevo y cuarto fallo fue reportado justo después del fin de semana de Navidad 2021, el 28/12/2021.

Afortunadamente, en palabras de Apache

Las versiones 2.0-beta7 hasta la 2.17.0 de Apache Log4j2 (excluyendo las versiones de corrección de seguridad 2.3.2 y 2.12.4) son vulnerables a un ataque de ejecución remota de código (RCE) en el que un atacante con permiso para modificar el archivo de configuración de registro puede construir una configuración maliciosa utilizando un JDBC Appender con una fuente de datos que haga referencia a un URI JNDI que pueda ejecutar código remoto. Este problema se soluciona limitando los nombres de fuentes de datos JNDI al protocolo java en las versiones 2.17.1, 2.12.4 y 2.3.2 de Log4j2.

El RCE, por supuesto, es el peor tipo de agujero de ciberseguridad que se puede sufrir, ya que normalmente significa que un extraño puede introducir un programa inesperado en su ordenador sin ni siquiera un permiso.

Un ataque RCE puede inyectar una aplicación que no es de confianza, introducir un fragmento binario de código de máquina en la memoria, u ofrecer sigilosamente un archivo de script no deseado y si el atacante tiene éxito, ejecutarás su código sin saberlo, sin ningún aviso oficial de ¿Está seguro (S/N)? o de Esto podría dañar su ordenador que te alerte.

Pero a pesar de que este fallo menciona RCE, no es realmente lo que la jerga llama una ejecución remota no autenticada, en la que cualquiera que pueda interactuar con tu red sin iniciar sesión primero (por ejemplo, visitando una web) podría activar el fallo.

Como menciona Apache, para activar la ejecución remota, un atacante necesitaría primero un acceso suficiente para trastear con los ajustes de configuración del servidor vulnerable o de la aplicación empresarial.

Sospechamos que cualquier atacante con suficiente acceso para alterar los ajustes de configuración del lado del servidor tendrá varias formas adicionales para comprometer tus aplicaciones internas, sistemas o red.

En otras palabras, si estás directamente en riesgo de CVE-2021-44832 en este momento, entonces la actualización de Log4j 2.17.0 a 2.17.1 probablemente no es la solución necesaria ni suficiente para tus problemas de seguridad.

En pocas palabras, no te limites a parchear a la versión 2.17.1 y pienses: “Genial. Ahora puedo relajarme hasta el Año Nuevo”.

¿Qué hacer?

En un artículo anterior, propusimos revisar tu propio uso de Log4j en un futuro próximo, y averiguar si realmente lo necesitas en tu propio software.

Si has heredado Log4j sin darte cuenta, como parte de la “cadena de suministro” de Java, y puedes sustituirlo fácilmente por algo mucho más sencillo y con menos funciones, creemos que sería una decisión inteligente.

Algunos comentaristas han dicho que no somos realistas o que nos pasamos de la raya al decir esto, afirmando que subestimamos las complejas necesidades de registro de la aplicación empresarial media.

Pero vamos a sugerir, una vez más, que si has encontrado Log4j en tu ecosistema recientemente, especialmente en servidores donde ni siquiera sabías que estaba ahí, que te hagas la pregunta: “¿Realmente necesito un conjunto de herramientas de registro de varios megabytes que consiste en cerca de medio millón de líneas de código fuente, o algo mucho más modesto y más fácil de revisar lo haría al menos igual de bien?”

Esto no es una crítica a Apache; es simplemente un recordatorio de que los problemas de seguridad heredados, como Log4Shell, son a menudo el efecto secundario inesperado de una decisión de ciberseguridad tomada hace años por alguien de fuera de tu empresa a quien nunca has conocido, y nunca conocerás.

A pesar de que la decisión original puede no haber sido tomada por ti, ahora es tu responsabilidad, por lo que revisarla no puede considerarse controvertida o poco meditada.

Puedes conocer más sobre la vulnerabilidad visualizando este webinar.