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

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

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 Report

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 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!