slievrly commented on code in PR #7596: URL: https://github.com/apache/incubator-seata/pull/7596#discussion_r2297861389
########## server/src/main/java/org/apache/seata/server/filter/XSSHttpRequestFilter.java: ########## @@ -60,21 +59,17 @@ public class XSSHttpRequestFilter implements HttpRequestFilter { Pattern.CASE_INSENSITIVE); public XSSHttpRequestFilter() { - String xssKeywordConfig = CONFIG.getConfig(SERVER_HTTP_FILTER_XSS_FILTER_KEYWORDS, null); - - if (StringUtils.isBlank(xssKeywordConfig)) { - this.xssKeywords = DEFAULT_XSS_KEYWORDS; - } else { - ObjectMapper objectMapper = new ObjectMapper(); - try { - xssKeywords = objectMapper.readValue(xssKeywordConfig, new TypeReference<List<String>>() {}); - } catch (JsonProcessingException e) { - throw new IllegalArgumentException( - "Invalid format for configuration 'server.http.filter.xss.keywords'. " - + "Expected a JSON array like [\"<script>\", \"vbscript:\"], but got: " - + xssKeywordConfig, - e); - } + String xssKeywordConfig = CONFIG.getConfig(SERVER_HTTP_FILTER_XSS_FILTER_KEYWORDS, DEFAULT_XSS_KEYWORDS); Review Comment: Even if we were to allow user configuration of these rules as a last resort, the configuration must follow an append-only approach. Users should only be able to add their own rules on top of the built-in ones, not replace them. Allowing replacements would risk misconfigurations and security vulnerabilities. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org