Vulnerabilidades de Apache Log4j 1.x
ANÁLISIS
CVE-2022-23302 [2]: JMSSink en todas las versiones de Log4j 1.x es vulnerable a la deserialización de datos no confiables cuando el atacante tiene acceso de escritura a la configuración de Log4j o si la configuración hace referencia a un servicio LDAP al que el atacante tiene acceso. El atacante puede proporcionar una configuración TopicConnectionFactoryBindingName haciendo que JMSSink realice peticiones JNDI que resulten en la ejecución remota de código de forma similar a CVE-2021-4104. Tenga en cuenta que este problema sólo afecta a Log4j 1.x cuando se configura específicamente para utilizar JMSSink, que no es el predeterminado.
CVE-2022-23305 [3]: Por diseño, el JDBCAppender en Log4j 1.2.x acepta una sentencia SQL como parámetro de configuración donde los valores a insertar son convertidores de PatternLayout. Es probable que el convertidor de mensajes, %m, se incluya siempre. Esto permite a los atacantes manipular el SQL introduciendo cadenas manipuladas en los campos de entrada o en las cabeceras de una aplicación que se registran permitiendo la ejecución de consultas SQL no deseadas. Tenga en cuenta que este problema sólo afecta a Log4j 1.x cuando se configura específicamente para utilizar el JDBCAppender, que no es el predeterminado. A partir de la versión 2.0-beta8, el JDBCAppender fue reintroducido con soporte adecuado para consultas SQL parametrizadas y mayor personalización sobre las columnas escritas en los registros.
CVE-2022-23307 [4]: CVE-2020-9493 [5] identificó un problema de deserialización que estaba presente en Apache Chainsaw. Antes de Chainsaw V2.0, Chainsaw era un componente de Apache Log4j 1.2.x donde existe el mismo problema.
RECOMENDACIONES
Apache Log4j 1.x llegó al final de su vida útil en agosto de 2015. Los usuarios deberían actualizar a Log4j 2, ya que soluciona numerosos problemas de las versiones anteriores.