...
In this noncompliant code example a call to System.loadLibrary()
is embedded in a doPrivileged
block. An unprivileged caller can maliciously invoke this piece of code using the same technique as above because This is insecure because a library can be loaded on behalf of untrusted code. In essence, the untrusted code's class loader may be able to indirectly load a library even though it lacks sufficient permissions. After loading the library, untrusted code can call native methods on it if the methods are accessible. This is possible because the doPrivileged
block stops security manager checks being applied to callers further up the execution chain.
...