Haohui Mai created HADOOP-11385: ----------------------------------- Summary: Cross site scripting attack on JMXJSONServlet Key: HADOOP-11385 URL: https://issues.apache.org/jira/browse/HADOOP-11385 Project: Hadoop Common Issue Type: Bug Reporter: Haohui Mai Assignee: Haohui Mai Priority: Critical
JMXJSONServlet allows passing a callback parameter in the JMX response, which is introduced in HADOOP-8922: {code} // "callback" parameter implies JSONP outpout jsonpcb = request.getParameter(CALLBACK_PARAM); if (jsonpcb != null) { response.setContentType("application/javascript; charset=utf8"); writer.write(jsonpcb + "("); } else { response.setContentType("application/json; charset=utf8"); } {code} The code writes the callback parameter directly to the output, allowing cross-site scripting attack. This vulnerability allows the attacker easily stealing the credential of the user on the browser. The original use case can be supported using Cross-origin resource sharing (CORS), which is used by the current NN web UI. This jira proposes to move JMXJSONServlet to CORS. -- This message was sent by Atlassian JIRA (v6.3.4#6332)