/** * @name Cross-site scripting * @description Writing user input directly to a web page * allows for a cross-site scripting vulnerability. * @kind path-problem * @problem.severity error * @security-severity 7.8 * @precision high * @id java/xss * @tags security * external/cwe/cwe-079 */ import java import semmle.code.java.security.XssQuery import XssFlow::PathGraph from XssFlow::PathNode source, XssFlow::PathNode sink where XssFlow::flowPath(source, sink) select sink.getNode(), source, sink, "Cross-site scripting vulnerability due to a $@.", source.getNode(), "user-provided value"