diff --git a/framework/base/config/SafeObjectInputStream.properties b/framework/base/config/SafeObjectInputStream.properties index 3e6fda2e746..7f759b66f57 100644 --- a/framework/base/config/SafeObjectInputStream.properties +++ b/framework/base/config/SafeObjectInputStream.properties @@ -27,7 +27,7 @@ # . don't forget to add new objects in SafeObjectInputStream class too (as default there). # . "foo" and "SerializationInjector" are used in OFBiz tests -allowList=byte\\[\\], foo, SerializationInjector, \\[Z,\\[B,\\[S,\\[I,\\[J,\\[F,\\[D,\\[C, java..*, org.apache.ofbiz..*, org.codehaus.groovy.runtime.GStringImpl, groovy.lang.GString +allowList=byte\\[\\], foo, SerializationInjector, \\[Z,\\[B,\\[S,\\[I,\\[J,\\[F,\\[D,\\[C, java..*, org.apache.ofbiz..*, org.codehaus.groovy.runtime.GStringImpl, groovy.lang.GString, sun.util.calendar.ZoneInfo #-- List of strings rejected for serialisation #-- The same comments than for allowList apply to denyList diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/SafeObjectInputStream.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/SafeObjectInputStream.java index aedea1a082e..9fe35b58f9d 100644 --- a/framework/base/src/main/java/org/apache/ofbiz/base/util/SafeObjectInputStream.java +++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/SafeObjectInputStream.java @@ -68,7 +68,8 @@ public final class SafeObjectInputStream extends ObjectInputStream { "org\\.apache\\.ofbiz\\.entity\\.GenericValue", "org\\.apache\\.ofbiz\\.entity\\.GenericPK", "org\\.codehaus\\.groovy\\.runtime\\.GStringImpl", - "groovy\\.lang\\.GString"}; + "groovy\\.lang\\.GString", + "sun\\.util\\.calendar\\.ZoneInfo"}; private static final String[] DEFAULT_DENYLIST = {"rmi", "<"}; /** The regular expression used to match serialized types. */ diff --git a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/event/CoreEvents.java b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/event/CoreEvents.java index acffefec86b..f84beac86d5 100644 --- a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/event/CoreEvents.java +++ b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/event/CoreEvents.java @@ -113,6 +113,12 @@ public static String scheduleService(HttpServletRequest request, HttpServletResp Locale locale = UtilHttp.getLocale(request); TimeZone timeZone = UtilHttp.getTimeZone(request); + if (!security.hasPermission("SERVICE_MAINT", userLogin)) { + String errMsg = UtilProperties.getMessage(ERR_RESOURCE, "coreEvents.not_authorized_to_call", locale); + request.setAttribute("_ERROR_MESSAGE_", errMsg); + return "error"; + } + Map params = UtilHttp.getParameterMap(request); // get the schedule parameters String jobName = (String) params.remove("JOB_NAME"); @@ -434,11 +440,19 @@ public static Object getObjectFromServicePath(String servicePath, Map
- + @@ -164,7 +164,7 @@ under the License.
- + @@ -297,7 +297,7 @@ under the License.
- + @@ -306,9 +306,8 @@ under the License.
- - +