From bf3f407b5fffac1d74142c52fa28fda91a542f8f Mon Sep 17 00:00:00 2001 From: Kusal Kithul-Godage Date: Tue, 9 Jan 2024 15:48:35 +1100 Subject: [PATCH] WW-5352 Ensure allowlist is cleared if in unexpected state --- .../struts2/interceptor/parameter/ParametersInterceptor.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java b/core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java index 08c956f21..f1651cd86 100644 --- a/core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java +++ b/core/src/main/java/org/apache/struts2/interceptor/parameter/ParametersInterceptor.java @@ -219,6 +219,10 @@ public class ParametersInterceptor extends MethodFilterInterceptor { Map acceptableParameters; ValueStack newStack; try { + if (!threadAllowlist.getAllowlist().isEmpty()) { + LOG.error("Thread allowlist was utilised but not cleared", new IllegalStateException()); + threadAllowlist.clearAllowlist(); + } acceptableParameters = toAcceptableParameters(parameters, action); // Side-effect: Allowlist required types newStack = toNewStack(stack);