From 955e44f8535ae0c617ca66ee3e6b114753d148ff Mon Sep 17 00:00:00 2001 From: Ulrich Grave Date: Wed, 21 Jan 2026 19:09:48 +0100 Subject: [PATCH 1/2] Add StringGroovyMethods/DefaultGroovyMethods replaceFirst to whitelist entries --- .../sandbox/whitelists/generic-whitelist | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist b/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist index 3284e60b..49123a87 100644 --- a/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist +++ b/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist @@ -1165,6 +1165,14 @@ staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods push java.util.Lis staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAll java.util.Map java.util.Collection staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.util.List int java.lang.Object staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.util.Map java.lang.Object java.lang.Object +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.lang.String java.lang.String +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.lang.String groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods removeAll java.util.Collection groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods retainAll java.util.Collection groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods reverse java.util.Iterator @@ -1382,8 +1390,12 @@ staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lan staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.lang.String groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.util.regex.Pattern groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.util.regex.Pattern java.lang.String +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.lang.String java.lang.String +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.lang.String groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods reverse java.lang.String From 2b3420c44bf0c5e9b7dd157420897b1b5ff6ea29 Mon Sep 17 00:00:00 2001 From: Ulrich Grave Date: Thu, 22 Jan 2026 06:34:05 +0100 Subject: [PATCH 2/2] Sort entries --- .../sandbox/whitelists/generic-whitelist | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist b/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist index 49123a87..b6c86eac 100644 --- a/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist +++ b/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist @@ -1165,15 +1165,14 @@ staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods push java.util.Lis staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAll java.util.Map java.util.Collection staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.util.List int java.lang.Object staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods putAt java.util.Map java.lang.Object java.lang.Object -staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence -staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods removeAll java.util.Collection groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern groovy.lang.Closure -staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.lang.String java.lang.String -staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.lang.String groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern groovy.lang.Closure -staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods removeAll java.util.Collection groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods retainAll java.util.Collection groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods reverse java.util.Iterator staticMethod org.codehaus.groovy.runtime.DefaultGroovyMethods reverse java.util.List @@ -1390,14 +1389,13 @@ staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lan staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.lang.String groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.util.regex.Pattern groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceAll java.lang.String java.util.regex.Pattern java.lang.String -staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence -staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.lang.CharSequence java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern groovy.lang.Closure -staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.lang.String java.lang.String -staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.CharSequence java.util.regex.Pattern java.lang.CharSequence staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.lang.String groovy.lang.Closure staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern groovy.lang.Closure +staticMethod org.codehaus.groovy.runtime.StringGroovyMethods replaceFirst java.lang.String java.util.regex.Pattern java.lang.String staticMethod org.codehaus.groovy.runtime.StringGroovyMethods reverse java.lang.String staticMethod org.codehaus.groovy.runtime.StringGroovyMethods startsWithAny java.lang.CharSequence java.lang.CharSequence[] staticMethod org.codehaus.groovy.runtime.StringGroovyMethods takeWhile groovy.lang.GString groovy.lang.Closure