Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

237
Vistas
¿Cómo detectar y eliminar rápidamente las clases log4j de nuestro código base y la imagen base? "dependencia mvn: árbol" no verifica la imagen base

Estamos creando una aplicación basada en Red Hat JBoss AMQ 6. Envolvemos un código Java alrededor de la imagen base para proporcionar funcionalidades adicionales que faltan en AMQ 6.

Ahora, cuando el CVE de Log4j golpeó, encontramos que este componente es vulnerable porque usa log4j 1.x. Ahora no solo me refiero a que nuestro código Java lo usa, sino que también lo usa la imagen base de Red Hat AMQ 6. Como AMQ 6 es EOL ahora, Red Hat ya no brinda soporte, por lo que no habrá lanzamientos oficiales con corrección.

Entonces, ¿cómo elimino las clases vulnerables log4j 1.x de:

  • mi codigo Java
  • la imagen básica

?

Estoy construyendo con el complemento jib maven.

Parece mvn dependency:tree solo brinda información sobre nuestro código contenedor de Java, no sobre la imagen base. Y no entiendo qué significan "+" y "-" mientras da un resultado como este:

 [INFO] +- org.jboss.resteasy:resteasy-jaxrs:jar:3.7.0.Final:compile [INFO] | +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:1.0.2.Final:compile [INFO] | +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.1.Final:compile [INFO] | +- org.reactivestreams:reactive-streams:jar:1.0.2:compile [INFO] | +- javax.validation:validation-api:jar:2.0.1.Final:compile [INFO] | +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:jar:1.0.1.Final:compile [INFO] | +- javax.activation:activation:jar:1.1.1:compile [INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.4:compile [INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.4.7:compile [INFO] | | +- commons-logging:commons-logging:jar:1.2:compile [INFO] | | \- commons-codec:commons-codec:jar:1.10:compile [INFO] | +- commons-io:commons-io:jar:2.5:compile [INFO] | +- net.jcip:jcip-annotations:jar:1.0:compile [INFO] | \- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile

¿Significa + que se puede expandir aún más pero no se muestra aquí?

Algunos antecedentes aquí: https://nvd.nist.gov/vuln/detail/CVE-2021-44228

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puedes usar:

mvn dependency:tree -Dincludes=*log4j*

Encontrará todas las dependencias y dependencias transitivas que tengan "log4j" en cualquier lugar de su ID de grupo.

Ejemplo de salida:

 \- org.springframework.boot:spring-boot-starter-web:jar:2.6.0:compile [INFO] \- org.springframework.boot:spring-boot-starter:jar:2.6.0:compile [INFO] \- org.springframework.boot:spring-boot-starter-logging:jar:2.6.0:compile [INFO] \- org.apache.logging.log4j:log4j-to-slf4j:jar:2.14.1:compile [INFO] \- org.apache.logging.log4j:log4j-api:jar:2.14.1:compile

Cada segmento de patrón es opcional y admite comodines * completos y parciales. Un segmento de patrón vacío se trata como un comodín implícito.

Por ejemplo, org.apache.* coincidiría con todos los artefactos cuyo ID de grupo comenzara con org.apache., y :::*-SNAPSHOT coincidiría con todos los artefactos de instantáneas.

Véase también el documento de maven

EDITAR

Entonces lo más probable es que quieras excluir estas dependencias con:

 <dependency> <groupId>your dep groupId</groupId> <artifactId>your dep artifactId</artifactId> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> </exclusions> </dependencies>

notas

Al momento de escribir, es cualquier versión < 2.17.1

Las versiones de Log4j con vulnerabilidades están disponibles en el repositorio de Maven

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda