Привет, Хабр!Вы наверняка писали { it -> … } в Groovy и думали: «ну, это ж как лямбда в Java, да?». Увы, нет. Closure в Groovy устроены совсем иначе — это полноценные объекты с собственным состоянием, странностями и неожиданно мощными фичами вроде trampoline и resolveStrategy. Сегодня рассмотрим, что скрывается за фигурными скобками Groovy и как использовать эти замыкания так, чтобы они работали на вас, а не против. Читать далее
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.
«Опять эти ваши программистские штуки! DI, closures, bundles, декларативная система... Я просто хочу сделать красивую симуляцию частиц, а не изучать Computer Science!»Если эта мысль промелькнула в голове, когда вы услышали о Closures в Blender — вы не одиноки. Давайте разберёмся, почему разработчики добавляют в ноды сложные концепции и как это в итоге упростит жизнь именно 3D-художникам. Читать далее
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