mirror of
https://github.com/github/codeql.git
synced 2026-05-10 17:29:26 +02:00
18 lines
810 B
Java
18 lines
810 B
Java
import javax.xml.XMLConstants;
|
|
import javax.xml.transform.TransformerFactory;
|
|
import javax.xml.transform.stream.StreamResult;
|
|
import javax.xml.transform.stream.StreamSource;
|
|
|
|
public void transform(Socket socket, String inputXml) throws Exception {
|
|
StreamSource xslt = new StreamSource(socket.getInputStream());
|
|
StreamSource xml = new StreamSource(new StringReader(inputXml));
|
|
StringWriter result = new StringWriter();
|
|
TransformerFactory factory = TransformerFactory.newInstance();
|
|
|
|
// BAD: User provided XSLT stylesheet is processed
|
|
factory.newTransformer(xslt).transform(xml, new StreamResult(result));
|
|
|
|
// GOOD: The secure processing mode is enabled
|
|
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
|
factory.newTransformer(xslt).transform(xml, new StreamResult(result));
|
|
} |