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

153
Vistas
Jenkins log4j prueba de vulnerabilidad del trabajo de canalización

Estoy tratando de asegurarme de que mi instancia de Jenkins no sea explotable con el último exploit log4j.

Tengo un script de canalización que se ejecuta, intenté seguir estas instrucciones:

https://community.jenkins.io/t/apache-log4j-2-vulnerability-cve-2021-44228/990

Esta es una de mis etapas de mi script de canalización:

 stage('Building image aaa') { steps{ script { sh "echo executing" org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSource sh "docker build --build-arg SCRIPT_ENVIRONMENT=staging -t $IMAGE_REPO_NAME:$IMAGE_TAG ." } } }

Pero recibo un error diferente al que se describe aquí y no estoy seguro de si lo estoy verificando correctamente. Este es el error:

 groovy.lang.MissingPropertyException: No such property: org for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:63) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:271) at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333) at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29) at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) at WorkflowScript.run(WorkflowScript:31) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) ....etc
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No creo que un nombre de clase se interprete directamente como un argumento codeSource maravilloso en una canalización declarativa (a diferencia de una secuencia de comandos)

Prueba el enfoque de " ¿Cómo importar un archivo de clases en un Pipeline de Jenkins? ", con:

 node{ def cl = load 'Classes.groovy' def a = cl.getProperty("org.apache.logging.log4j.core.lookup.JndiLookup").protectionDomain.codeSource ... }

Tenga en cuenta que getCLassLoader() está deshabilitado de manera predeterminada y debe requerir la aprobación de secuencias de comandos en proceso del administrador de Jenkins .

over 4 years ago · Santiago Trujillo Denunciar

0

Esta es probablemente la forma más fácil de verificar si Jenkins tiene la vulnerabilidad log4j (a través de complementos o de otra manera).

  1. Vaya a https://your-jenkins.domain/script
  2. Pegue org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSource

Si la salida es groovy.lang.MissingPropertyException: No such property: org for class: Script1 Está bien entonces, de lo contrario no está bien.

De esta manera, no tiene que cambiar su tubería para probar o pasar por el proceso de aprobación como se menciona en la otra respuesta , puede simplemente pegar y verificar sin necesidad de configurar adicionalmente.

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