WFSM000001: Permission check failed when application tries to read an EAP jar file in RPM install when it has permissions.xml in EAP 7.2
Issue
- Our application is trying to read this file /opt/rh/eap7/root/usr/share/wildfly/modules/system/layers/base/org/apache/cxf/impl/main/cxf-rt-transports-http.jar in the EAP rpm install when the Java Security Manager is enabled and the ear has a META-INF/permissions.xml with this:
<?xml version="1.0"?>
<permissions xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/permissions_7.xsd" version="7">
<permission>
<class-name>java.io.FilePermission</class-name>
<name>/opt/rh/eap7/root/usr/share/wildfly/-</name>
<actions>read</actions>
</permission>
</permissions>
The error is:
22:09:45,878 ERROR [stderr] (default task-1) java.security.AccessControlException: WFSM000001: Permission check failed (permission "("java.io.FilePermission" "/opt/rh/eap7/root/usr/share/wildfly/modules/system/layers/base/org/apache/cxf/impl/main/cxf-rt-transports-http.jar" "read")" in code source "(vfs:/opt/rh/eap7/root/usr/share/wildfly/standalone/deployments/ejb-in-ear.ear/ejb-in-ear-ejb.jar <no signer certificates>)" of "ModuleClassLoader for Module "deployment.ejb-in-ear.ear.ejb-in-ear-ejb.jar" from Service Module Loader")
22:09:45,887 ERROR [stderr] (default task-1) at org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:307)
22:09:45,888 ERROR [stderr] (default task-1) at org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:204)
22:09:45,888 ERROR [stderr] (default task-1) at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
22:09:45,889 ERROR [stderr] (default task-1) at org.wildfly.security.manager.WildFlySecurityManager.checkRead(WildFlySecurityManager.java:372)
22:09:45,890 ERROR [stderr] (default task-1) at sun.nio.fs.UnixChannelFactory.open(UnixChannelFactory.java:245)
22:09:45,890 ERROR [stderr] (default task-1) at sun.nio.fs.UnixChannelFactory.newFileChannel(UnixChannelFactory.java:136)
22:09:45,892 ERROR [stderr] (default task-1) at sun.nio.fs.UnixChannelFactory.newFileChannel(UnixChannelFactory.java:148)
22:09:45,892 ERROR [stderr] (default task-1) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:212)
22:09:45,893 ERROR [stderr] (default task-1) at java.nio.file.Files.newByteChannel(Files.java:361)
22:09:45,894 ERROR [stderr] (default task-1) at java.nio.file.Files.newByteChannel(Files.java:407)
22:09:45,894 ERROR [stderr] (default task-1) at java.nio.file.Files.readAllBytes(Files.java:3152)
22:09:45,895 ERROR [stderr] (default task-1) at org.jboss.as.quickstarts.ear.ejb.GreeterEJB.sayHello(GreeterEJB.java:40)
Environment
- Red Hat JBoss Enterprise Application Platform (EAP) 7.2
- RHEL RPM installation
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.