Robert Muir created SOLR-13991:
----------------------------------

             Summary: clean up permissions in solr-tests.policy
                 Key: SOLR-13991
                 URL: https://issues.apache.org/jira/browse/SOLR-13991
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Robert Muir


The solr-tests.policy is currently way too lenient. Its useful for tests but 
pretty worthless at defending against any attacker "for real"

For example imagine i can execute arbitrary java-ish code:
{code}
Runtime.getRuntime().exec("id");
{code}

With a security manager enabled, I'd get an exception like this:
java.security.AccessControlException: access denied ("java.io.FilePermission" 
"<<ALL FILES>>" "execute")

Because the current policy is so lenient and has wildcard RuntimePermission, 
the next thing i'd try (disable security manager, then launch process) would 
happily execute:
{code}
System.setSecurityManager(null);Runtime.getRuntime().exec("id");
{code}

That's because the current wildcard permission allows 
{{RuntimePermission("setSecurityManager")}}. 

There are other variants I could use, some explained by java's docs: 
https://docs.oracle.com/javase/7/docs/api/java/lang/RuntimePermission.html

It will take time and pain to clean up this stuff: e.g. fixing code and maybe 
even third-party dependencies, but gotta start somewhere. I think splitting up 
the wildcards is a good first step :)




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to