¿Qué es la Vulnerabilidad Apache Log4j (Log4Shell)?

Log4Shell (CVE-2021-44228, CVE-2021-45046 y CVE-2021-45105) es una vulnerabilidad de ejecución remota de código (RCE) que le permite a los actores maliciosos a ejecutar código arbitrario en Java, tomando el control del servidor.

Resumen de la vulnerabilidad Log4Shell

2021 fue un año ocupado para las vulnerabilidades día-cero, cerrando con Log4Shell; esta es una falla crítica que se encuentra en la biblioteca de registros de Apache Log4j basada en Java. Identificada oficialmente como  CVE-2021-44228, tiene una puntuación de severidad de 10 de 10 (CVSS v3.1) asignado por el Common Vulnerability Scoring System (CVSS).

La vulnerabilidad fue reportada primero de manera privada a Apache el 24 de noviembre de 2021. El 9 de diciembre de 2021, Log4Shell fue revelada públicamente e inicialmente parchada con la versión 2.15.0 de Apache Log4j.

Las noticias subsecuentes de ataques observados in the wild detonó alertas de parte de varias agencias nacionales de ciberseguridad, incluyendo al Cybersecurity and Infrastructure Security Agency (CISA) de los Estados Unidos, el National Cyber Security Center (NCSC) del Reino Unido, y el Canadian Center for Cyber Security. Debido a la popularidad de Apache Log4j, cientos de millones de dispositivos podrían verse impactados.

Cómo funciona Log4Shell

Log4Shell es una vulnerabilidad de inyección de Java Naming and Directory Interface™ (JNDI) que puede permitir ejecución remota de código (RCE). Al incluir datos no confiables (como cargas maliciosas) en el mensaje registrado en una versión afectada de Apache Log4j, un atacante podría establecer una conexión a un servidor malicioso a través de la búsqueda JNDI. El resultado: acceso completo a su sistema desde cualquier parte del mundo.

Ya que la búsqueda de JNDI soporta diferentes tipos de directorios como Domain Name Service (DNS), Lightweight Directory Access Protocol (LDAP), los cuales ofrecen información valiosa como los dispositivos de red de la organización, remote method invocation (RMI) y Inter-ORB Protocol (IIOP), Log4Shell puede llevar a otras amenazas como:

  • Coinmining: Los atacantes pueden usar sus recursos para minar criptomonedas. Esta amenaza puede llegar a ser bastante cara, dado el poder de cómputo requerido para correr servicios y aplicaciones en la nube.
  • Network denial of service (DoS): Esta amenaza permite que los atacantes deshabiliten una red, sitio web o servicio de forma que es inaccesible a la organización afectada.
  • Ransomware: Después de que se logra la RCE, los atacantes pueden recopilar y encriptar datos para demandar un rescate.

 

Debajo se encuentra una posible cadena de infección:

Posible Cadena de Infección

Productos, aplicaciones y plug-ins vulnerables

Esencialmente, cualquier dispositivo de cara al internet que corra las versiones 2.0 a 2.14.1 de Apache Log4j. Las versiones afectadas se incluyen Apache Struts, Apache Solr, Apache Druid, Apache Dubbo, Elasticsearch y VMware vCenter.

Parcheo y mitigación

Apache inicialmente lanzó la versión 2.15.0 de Apache Log4j para parchar la vulnerabilidad. Sin embargo, esta versión sólo funcionaba con Java 8. Los usuarios de versiones anteriores necesitaban aplicar y reaplicar mitigaciones temporales. Al momento en que se escribió este artículo, Apache liberó la versión 2.16.0 y aconsejó a los usuarios actualizar lo más pronto posible su biblioteca potencialmente afectada.

Otras estrategias de mitigación como el parcheo virtual y la utilización de un sistema de prevención de intrusiones (IDS/IPS) se recomiendan ampliamente. El parcheo virtual protege a la vulnerabilidad contra la explotación, mientras que IDS/IPS inspecciona el tráfico entrante y saliente para detectar comportamientos sospechosos.

Apache Log4J

Investigaciones Relacionadas

CNN
CNET
ThreatPost