From 69ce536bf92f774d4d0a09d9068c1dbc972715f7 Mon Sep 17 00:00:00 2001 From: Simon Steiner Date: Tue, 7 Dec 2021 08:04:15 +0000 Subject: [PATCH] FOP-3038: Allow sections which need security permissions to be run when AllPermission denied in caller code git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1895652 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/fop/apps/FopFactory.java | 12 ++++- .../java/org/apache/fop/fo/FOTreeBuilder.java | 46 ++++++++++++---- .../apache/fop/apps/FopFactoryTestCase.java | 49 ++++++++++++++++++ fop/lib/xmlgraphics-commons-svn-trunk.jar | Bin 674647 -> 675479 bytes 4 files changed, 96 insertions(+), 11 deletions(-) diff --git a/fop-core/src/main/java/org/apache/fop/apps/FopFactory.java b/fop-core/src/main/java/org/apache/fop/apps/FopFactory.java index 6708f2113..2685fe021 100644 --- a/fop-core/src/main/java/org/apache/fop/apps/FopFactory.java +++ b/fop-core/src/main/java/org/apache/fop/apps/FopFactory.java @@ -24,6 +24,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URI; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -142,8 +144,14 @@ public final class FopFactory implements ImageContext { * @param baseURI the base URI to resolve resource URIs against * @return the requested FopFactory instance. */ - public static FopFactory newInstance(URI baseURI) { - return new FopFactoryBuilder(baseURI).build(); + public static FopFactory newInstance(final URI baseURI) { + return AccessController.doPrivileged( + new PrivilegedAction() { + public FopFactory run() { + return new FopFactoryBuilder(baseURI).build(); + } + } + ); } /** diff --git a/fop-core/src/main/java/org/apache/fop/fo/FOTreeBuilder.java b/fop-core/src/main/java/org/apache/fop/fo/FOTreeBuilder.java index 249f0e0fe..766b6188d 100644 --- a/fop-core/src/main/java/org/apache/fop/fo/FOTreeBuilder.java +++ b/fop-core/src/main/java/org/apache/fop/fo/FOTreeBuilder.java @@ -20,6 +20,8 @@ package org.apache.fop.fo; import java.io.OutputStream; +import java.security.AccessController; +import java.security.PrivilegedAction; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; @@ -171,23 +173,49 @@ public class FOTreeBuilder extends DefaultHandler { } /** {@inheritDoc} */ - public void startElement(String namespaceURI, String localName, String rawName, - Attributes attlist) throws SAXException { + public void startElement(final String namespaceURI, final String localName, final String rawName, + final Attributes attlist) throws SAXException { this.depth++; errorinstart = false; - try { - delegate.startElement(namespaceURI, localName, rawName, attlist); - } catch (SAXException e) { + final ContentHandler contentHandler = delegate; + SAXException saxException = AccessController.doPrivileged( + new PrivilegedAction() { + public SAXException run() { + try { + contentHandler.startElement(namespaceURI, localName, rawName, attlist); + } catch (SAXException e) { + return e; + } + return null; + } + } + ); + if (saxException != null) { errorinstart = true; - throw e; + throw saxException; } } /** {@inheritDoc} */ - public void endElement(String uri, String localName, String rawName) - throws SAXException { + public void endElement(final String uri, final String localName, final String rawName) throws SAXException { if (!errorinstart) { - this.delegate.endElement(uri, localName, rawName); + final ContentHandler contentHandler = delegate; + SAXException saxException = AccessController.doPrivileged( + new PrivilegedAction() { + public SAXException run() { + try { + contentHandler.endElement(uri, localName, rawName); + } catch (SAXException e) { + return e; + } + return null; + } + } + ); + if (saxException != null) { + throw saxException; + } + this.depth--; if (depth == 0) { if (delegate != mainFOHandler) { diff --git a/fop-core/src/test/java/org/apache/fop/apps/FopFactoryTestCase.java b/fop-core/src/test/java/org/apache/fop/apps/FopFactoryTestCase.java index 439ffa44e..ee95810a6 100644 --- a/fop-core/src/test/java/org/apache/fop/apps/FopFactoryTestCase.java +++ b/fop-core/src/test/java/org/apache/fop/apps/FopFactoryTestCase.java @@ -19,7 +19,18 @@ package org.apache.fop.apps; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.net.URI; +import java.security.Permission; + +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.sax.SAXResult; +import javax.xml.transform.stream.StreamSource; import org.junit.Test; import org.xml.sax.SAXException; @@ -63,4 +74,42 @@ public class FopFactoryTestCase extends BaseConstructiveUserConfigTest { fail(e.getMessage()); } } + + @Test + public void testSecurityManager() throws Exception { + System.setSecurityManager(new SecurityManager() { + public void checkPermission(Permission perm) { + for (StackTraceElement element : Thread.currentThread().getStackTrace()) { + if (element.toString().contains("java.security.AccessController.doPrivileged") + || element.toString().contains("newFop(") + || element.toString().contains("setSecurityManager(")) { + return; + } + } + throw new RuntimeException("doPrivileged not used for " + perm); + } + }); + FopFactory fopFactory = FopFactory.newInstance(new URI(".")); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + String fo = "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " test2test2test2test2test2test2test2test2test2test2te" + + "st2test2test2test2test2test2test2 \n" + + "\n" + + " \n" + + "\n"; + Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, fopFactory.newFOUserAgent(), out); + Transformer transformer = TransformerFactory.newInstance().newTransformer(); + Source src = new StreamSource(new ByteArrayInputStream(fo.getBytes())); + Result res = new SAXResult(fop.getDefaultHandler()); + transformer.transform(src, res); + System.setSecurityManager(null); + } } diff --git a/fop/lib/xmlgraphics-commons-svn-trunk.jar b/fop/lib/xmlgraphics-commons-svn-trunk.jar index 542966f5f3f044bffb501ad34ce6b7a39affb5a6..6368e1244ea0efb49a9b0d763b639e182be9bcf8 100644 GIT binary patch delta 26160 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 2>`I?~ido$bNt;@*AAA0t!$}K)Z6`Y+3Y3h( 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 -- 2.39.5