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.
В начале у меня будет один вопрос к тебе дорогой читатель. Писал ли ты когда-нибудь unit-тесты на Groovy ? Если ты андроид-разработчик, то вероятность этого крайне мала. И я с таким не сталкивался пока не пришел на проект Альфы. Небольшой дисклеймер: если ты до этого никогда не писал unit-тесты, то этот материал может показаться тебе непонятным. Давай представим, ты приходишь на проект и видишь тест, как на картинке. Что ты будешь делать дальше? Читать далее
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…