TLP:CLEAR
Estimados clientes,
Se ha publicado una técnica que podría permitir Remote Code Execution (RCE) en determinados sistemas que utilizan Apache Log4j2. El riesgo no afecta automáticamente a todas las aplicaciones con Log4j2: se concentra en servicios que reciben eventos de log mediante Java Serialization y los deserializan utilizando componentes asociados a Log4j2.
Un atacante podría enviar un evento de log especialmente manipulado para evitar parte de los controles de deserialización. Si el servidor dispone además de librerías que puedan utilizarse como gadget chain, el ataque podría terminar en ejecución de comandos con los permisos del proceso Java afectado. Existe Proof of Concept (PoC) público, pero Apache todavía no ha publicado CVE, CVSS ni advisory específico para el Issue #4255.
Descripción de la vulnerabilidad
Log4j2 incluye FilteredObjectInputStream (FOIS), utilizado para limitar qué clases pueden procesarse durante la deserialización. La investigación pública indica que este filtro puede ser evitado mediante java.rmi.MarshalledObject, haciendo posible que parte del contenido se procese fuera del filtro previsto. El escenario requiere que una aplicación acepte desde la red un LogEvent serializado; el uso habitual de Log4j2 para escribir logs en archivos, consola o JSON no implica por sí solo exposición.
Tipo de debilidad reportada: CWE-502 – Deserialization of Untrusted Data.
No debe confundirse con Log4Shell: la vía de explotación y los requisitos técnicos son diferentes.
Apache establece que sus mecanismos de hardening para deserialización son parciales y que no debe considerarse segura la deserialización de streams procedentes de fuentes no confiables.
Riesgo e impacto
Si se cumplen las condiciones de explotación, el impacto puede ser alto. Un atacante remoto podría ejecutar código sobre el servidor y, dependiendo de los privilegios de la aplicación, acceder a información, instalar malware, establecer persistencia, realizar movimiento lateral o provocar interrupciones del servicio.
Indicadores de compromiso (IOCs)
No se han publicado IOCs específicos y confiables asociados a campañas reales de explotación. Se recomienda centrarse en la exposición del servicio y en comportamientos anómalos de los procesos Java.
Conclusiones
El Issue #4255 debe tratarse como una alerta temprana de seguridad. Actualmente existe evidencia técnica y un PoC público que demuestra un bypass en los mecanismos de deserialización que, bajo determinadas condiciones, podría derivar en Remote Code Execution (RCE).
El riesgo no afecta de forma automática a todas las implementaciones de Log4j2, sino principalmente a aquellas aplicaciones que aceptan o procesan LogEvent serializados mediante Java desde fuentes que podrían ser controladas por un atacante. Por este motivo, se recomienda identificar este tipo de integraciones, limitar su exposición, reforzar los controles de red y mantener una monitorización activa mientras Apache completa su evaluación oficial.
Fuentes
- https://x.com/momika233/status/2092508673889444168
- https://github.com/apache/logging-log4j2/issues/4255
- https://github.com/joanbono/log4j2-4255-exploit
- https://logging.apache.org/security.html
Recomendaciones
- Inventariar aplicaciones Java con Log4j2 y confirmar si reciben LogEvent serializados desde la red o utilizan Java Serialization para transportar eventos de logging.
- Priorizar la revisión de FilteredObjectInputStream, SerializedLayout, ObjectInputStreamLogEventBridge y mecanismos similares.
- No exponer receptores de logs serializados a Internet o redes no confiables. Aplicar firewall, ACL y segmentación para limitar los orígenes autorizados.
- Cuando sea posible, sustituir Java Serialization por formatos como JSON o RFC 5424 y proteger el transporte con autenticación y TLS.
- Monitorizar procesos Java por creación de shells/child processes, conexiones salientes, DNS inusual o ejecución de herramientas del sistema.
- No aplicar filtros globales o bloqueos de java.rmi.MarshalledObject sin validar previamente compatibilidad e impacto en aplicaciones legítimas.
- Mantener seguimiento del Issue #4255 y de Apache Logging Services para aplicar cualquier fix, advisory o mitigación oficial en cuanto sea publicado.
Versiones Afectadas
Según el PoC público los componentes y versiones afectadas son:
- log4j-api: 2.11.0 – 2.26.1
- log4j-core: 2.8.0 – 2.26.1
Los rangos anteriores proceden de la investigación pública y no constituyen todavía una lista oficial de versiones vulnerables de Apache. La versión pública más reciente de Log4j 2.x es 2.26.1 y no existe, a la fecha de este boletín, una versión correctiva anunciada específicamente para #4255.
Deja una respuesta