A sandbox bypass vulnerability exists in Jenkins Job DSL Plugin 1.71 and earlier in job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/AbstractDslScriptLoader.groovy, job-dsl-plugin/build.gradle, job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/JobDslWhitelist.groovy, job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/SandboxDslScriptLoader.groovy that allows attackers with control over Job DSL definitions to execute arbitrary code on the Jenkins master JVM.
Привет, Хабр!Вы наверняка писали { it -> … } в Groovy и думали: «ну, это ж как лямбда в Java, да?». Увы, нет. Closure в Groovy устроены совсем иначе — это полноценные объекты с собственным состоянием, странностями и неожиданно мощными фичами вроде trampoline и resolveStrategy. Сегодня рассмотрим, что скрывается за фигурными скобками Groovy и как использовать эти замыкания так, чтобы они работали на вас, а не против. Читать далее
A sandbox bypass vulnerability exists in Pipeline: Groovy Plugin 2.59 and earlier in groovy-sandbox/src/main/java/org/kohsuke/groovy/sandbox/SandboxTransformer.java, groovy-cps/lib/src/main/java/com/cloudbees/groovy/cps/SandboxCpsTransformer.java that allows attackers with Job/Configure permission, or unauthorized attackers with SCM commit privileges and corresponding pipelines based on Jenkinsfiles set up in Jenkins, to execute arbitrary code on the Jenkins master JVM
AST (Abstract Syntax Tree) преобразование для исполнения Groovy скриптов с @CompileStatic Введение Предположим у Вас есть некоторый скрипт который работает с некоторым бизнес объектом, скажем Person. Groovy script person.name = 'Peter' У Groovy есть замечательная фича @CompileStatic, которая заставляет компилятор Groovy…