Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

257
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!