Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda