Permission Analysis Report


Analysis of: org.eclipse.osgi

Detail


Class: org.eclipse.core.runtime.adaptor.EclipseBundleData (Application)
DoPrivileged location: Line# 269 org.eclipse.osgi.framework.util.Headers basicCheckManifest( java.lang.String, java.lang.String, java.lang.String, byte )
   Permission: java.io.FilePermission "", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "*", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "-1", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "-2", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "-2147483648", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "-3", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "-9223372036854775808", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission ".", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "0", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "1", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "1.3", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "10", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "13", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "2", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "23", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "3", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "3.0.0", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "4", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "5", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "6", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "7", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "8", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "9", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "???file???", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "Eclipse", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "No message available.", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "aix", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "bin", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "bundles", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "carbon", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "false", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "fragment.xml", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "hpux", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "linux", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "macosx", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "manifests", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "motif", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "org.eclipse.osgi", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "org.eclipse.osgi/manifests", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "photon", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "plugin.xml", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "qnx", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "solaris", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "true", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "unknown", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "win32", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "x86", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )
   Permission: java.io.FilePermission "x86_64", "read"
      Primordial/void java.io.FileInputStream.FileInputStream( java.io.File )


CODE
private Headers basicCheckManifest(String cacheLocation, String symbolicName, String version, byte inputType) throws BundleException { File currentFile = new File(cacheLocation, symbolicName + '_' + version + ".MF"); //$NON-NLS-1$ if (PluginConverterImpl.upToDate(currentFile, getBaseFile(), inputType)) { try { return Headers.parseManifest(new FileInputStream(currentFile)); } catch (FileNotFoundException e) { // do nothing. } } return null; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 119 boolean checkManifestTimeStamp( ) Permission: java.util.PropertyPermission "osgi.checkConfiguration", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
private boolean checkManifestTimeStamp() { if (!"true".equalsIgnoreCase(System.getProperty(PROP_CHECK_CONFIG))) //$NON-NLS-1$ return true; if (PluginConverterImpl.getTimeStamp(getBaseFile(), getManifestType()) == getManifestTimeStamp()) { if ((getManifestType() & (MANIFEST_TYPE_JAR | MANIFEST_TYPE_BUNDLE)) != 0) return true; String cacheLocation = System.getProperty(LocationManager.PROP_MANIFEST_CACHE); Location parentConfiguration = LocationManager.getConfigurationLocation().getParentLocation(); if (parentConfiguration != null) { try { return checkManifestAndParent(cacheLocation, getSymbolicName(), getVersion().toString(), getManifestType()) != null; } catch (BundleException e) { return false; } } File cacheFile = new File(cacheLocation, getSymbolicName() + '_' + getVersion() + ".MF"); //$NON-NLS-1$ if (cacheFile.isFile()) return true; } return false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 125 boolean checkManifestTimeStamp( ) Permission: java.util.PropertyPermission "osgi.manifest.cache", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
private boolean checkManifestTimeStamp() { if (!"true".equalsIgnoreCase(System.getProperty(PROP_CHECK_CONFIG))) //$NON-NLS-1$ return true; if (PluginConverterImpl.getTimeStamp(getBaseFile(), getManifestType()) == getManifestTimeStamp()) { if ((getManifestType() & (MANIFEST_TYPE_JAR | MANIFEST_TYPE_BUNDLE)) != 0) return true; String cacheLocation = System.getProperty(LocationManager.PROP_MANIFEST_CACHE); Location parentConfiguration = LocationManager.getConfigurationLocation().getParentLocation(); if (parentConfiguration != null) { try { return checkManifestAndParent(cacheLocation, getSymbolicName(), getVersion().toString(), getManifestType()) != null; } catch (BundleException e) { return false; } } File cacheFile = new File(cacheLocation, getSymbolicName() + '_' + getVersion() + ".MF"); //$NON-NLS-1$ if (cacheFile.isFile()) return true; } return false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 135 boolean checkManifestTimeStamp( ) Permission: java.io.FilePermission "", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "*", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-1", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-2", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission ".", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "0", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "1", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "1.3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "10", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "13", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "2", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "23", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "4", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "5", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "6", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "7", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "8", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "9", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "aix", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "bin", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "bundles", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "carbon", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "false", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "hpux", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "linux", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "macosx", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "manifests", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "motif", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "photon", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "qnx", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "solaris", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "true", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "unknown", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "win32", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "x86", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/boolean java.io.File.isFile( )

CODE
private boolean checkManifestTimeStamp() { if (!"true".equalsIgnoreCase(System.getProperty(PROP_CHECK_CONFIG))) //$NON-NLS-1$ return true; if (PluginConverterImpl.getTimeStamp(getBaseFile(), getManifestType()) == getManifestTimeStamp()) { if ((getManifestType() & (MANIFEST_TYPE_JAR | MANIFEST_TYPE_BUNDLE)) != 0) return true; String cacheLocation = System.getProperty(LocationManager.PROP_MANIFEST_CACHE); Location parentConfiguration = LocationManager.getConfigurationLocation().getParentLocation(); if (parentConfiguration != null) { try { return checkManifestAndParent(cacheLocation, getSymbolicName(), getVersion().toString(), getManifestType()) != null; } catch (BundleException e) { return false; } } File cacheFile = new File(cacheLocation, getSymbolicName() + '_' + getVersion() + ".MF"); //$NON-NLS-1$ if (cacheFile.isFile()) return true; } return false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 292 java.util.Dictionary generateManifest( java.util.Dictionary ) Permission: java.util.PropertyPermission "osgi.manifest.cache", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
private Dictionary generateManifest(Dictionary originalManifest) throws BundleException { String cacheLocation; if(System.getSecurityManager() == null) { cacheLocation = System.getProperty(LocationManager.PROP_MANIFEST_CACHE); } else { cacheLocation = (String) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return System.getProperty(LocationManager.PROP_MANIFEST_CACHE); } }); } if (getSymbolicName() != null) { Headers existingHeaders = checkManifestAndParent(cacheLocation, getSymbolicName(), getVersion().toString(), manifestType); if (existingHeaders != null) return existingHeaders; } PluginConverterImpl converter = PluginConverterImpl.getDefault(); Dictionary generatedManifest; try { generatedManifest = converter.convertManifest(getBaseFile(), true, null, true, null); } catch (PluginConversionException pce) { String message = NLS.bind(EclipseAdaptorMsg.ECLIPSE_CONVERTER_ERROR_CONVERTING, getBaseFile()); //$NON-NLS-1$ throw new BundleException(message, pce); //$NON-NLS-1$ } //Now we know the symbolicId and the version of the bundle, we check to see if don't have a manifest for it already Version version = Version.parseVersion((String) generatedManifest.get(Constants.BUNDLE_VERSION)); String symbolicName = ManifestElement.parseHeader(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME, (String) generatedManifest.get(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME))[0].getValue(); ManifestElement generatedFrom = ManifestElement.parseHeader(PluginConverterImpl.GENERATED_FROM, (String) generatedManifest.get(PluginConverterImpl.GENERATED_FROM))[0]; Headers existingHeaders = checkManifestAndParent(cacheLocation, symbolicName, version.toString(), Byte.parseByte(generatedFrom.getAttribute(PluginConverterImpl.MANIFEST_TYPE_ATTRIBUTE))); //We don't have a manifest. setManifestTimeStamp(Long.parseLong(generatedFrom.getValue())); setManifestType(Byte.parseByte(generatedFrom.getAttribute(PluginConverterImpl.MANIFEST_TYPE_ATTRIBUTE))); if (!adaptor.canWrite() || existingHeaders != null) return existingHeaders; //merge the original manifest with the generated one if (originalManifest != null) { Enumeration keysEnum = originalManifest.keys(); while (keysEnum.hasMoreElements()) { Object key = keysEnum.nextElement(); generatedManifest.put(key, originalManifest.get(key)); } } //write the generated manifest File bundleManifestLocation = new File(cacheLocation, symbolicName + '_' + version.toString() + ".MF"); //$NON-NLS-1$ try { converter.writeManifest(bundleManifestLocation, generatedManifest, true); } catch (Exception e) { //TODO Need to log } return generatedManifest; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 376 boolean hasPackageInfo( java.net.URL ) Permission: java.io.FilePermission "", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "*", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "*", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-1", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission ".", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission ".", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "0", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "0", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "10", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "10", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "13", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "13", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "2", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "2", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "23", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "23", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "4", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "4", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "5", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "5", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "6", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "6", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "7", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "7", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "8", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "8", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "9", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "9", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "aix", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bin", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "false", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "false", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "linux", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "motif", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "photon", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "true", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "true", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "win32", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: org.osgi.framework.AdminPermission "", "resource" Primordial/java.io.InputStream java.net.URL.openStream( )

CODE
private boolean hasPackageInfo(URL url) { if (url == null) return false; BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(url.openStream())); String line; while ((line = br.readLine()) != null) { if (line.startsWith("Specification-Title: ") || line.startsWith("Specification-Version: ") || line.startsWith("Specification-Vendor: ") || line.startsWith("Implementation-Title: ") || line.startsWith("Implementation-Version: ") || line.startsWith("Implementation-Vendor: ")) //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ return true; } } catch (IOException ioe) { // do nothing } finally { if (br != null) try { br.close(); } catch (IOException e) { // do nothing } } return false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 378 boolean hasPackageInfo( java.net.URL ) Permission: java.util.PropertyPermission "java.vendor.url.bug", "read" Primordial/java.lang.String java.io.BufferedReader.readLine( ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/java.lang.String java.io.BufferedReader.readLine( )

CODE
private boolean hasPackageInfo(URL url) { if (url == null) return false; BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(url.openStream())); String line; while ((line = br.readLine()) != null) { if (line.startsWith("Specification-Title: ") || line.startsWith("Specification-Version: ") || line.startsWith("Specification-Vendor: ") || line.startsWith("Implementation-Title: ") || line.startsWith("Implementation-Version: ") || line.startsWith("Implementation-Vendor: ")) //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ return true; } } catch (IOException ioe) { // do nothing } finally { if (br != null) try { br.close(); } catch (IOException e) { // do nothing } } return false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 109 void initializeExistingBundle( ) Permission: java.io.FilePermission "", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "*", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "-1", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "-2", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "-3", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission ".", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "0", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "1", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "1.3", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "10", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "13", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "2", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "23", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "3", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "4", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "5", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "6", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "7", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "8", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "9", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "aix", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "bin", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "bundles", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "carbon", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "false", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "hpux", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "linux", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "macosx", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "manifests", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "motif", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "photon", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "qnx", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "solaris", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "true", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "unknown", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "win32", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "x86", "read" Primordial/boolean java.io.File.exists( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/boolean java.io.File.exists( )

CODE
/** * Initialize an existing bundle * @throws IOException if any error occurs loading the existing bundle */ public void initializeExistingBundle() throws IOException { createBaseBundleFile(); if (!checkManifestTimeStamp()) { if (getBundleStoreDir().exists()) { /* create .delete */ FileOutputStream out = new FileOutputStream(new File(getBundleStoreDir(), ".delete")); out.close(); } throw new IOException(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 111 void initializeExistingBundle( ) Permission: java.io.FilePermission "", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "*", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "-1", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "-2", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "-2147483648", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "-3", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "-9223372036854775808", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission ".", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission ".delete", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "0", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "1", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "1.3", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "10", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "13", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "2", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "23", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "3", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "3.0.0", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "4", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "5", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "6", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "7", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "8", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "9", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "???file???", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "Eclipse", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "No message available.", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "aix", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "bin", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "bundles", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "carbon", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "false", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "fragment.xml", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "hpux", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "linux", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "macosx", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "manifests", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "motif", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "org.eclipse.osgi", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "photon", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "plugin.xml", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "qnx", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "solaris", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "true", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "unknown", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "win32", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "x86", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File ) Permission: java.io.FilePermission "x86_64", "write" Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File )

CODE
/** * Initialize an existing bundle * @throws IOException if any error occurs loading the existing bundle */ public void initializeExistingBundle() throws IOException { createBaseBundleFile(); if (!checkManifestTimeStamp()) { if (getBundleStoreDir().exists()) { /* create .delete */ FileOutputStream out = new FileOutputStream(new File(getBundleStoreDir(), ".delete")); out.close(); } throw new IOException(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 252 java.util.Dictionary loadManifest( ) Permission: java.io.FilePermission "", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "*", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-1", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-2", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission ".", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "0", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "1", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "1.3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "10", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "13", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "2", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "23", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "3", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "4", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "5", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "6", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "7", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "8", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "9", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "aix", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "bin", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "bundles", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "carbon", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "false", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "hpux", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "linux", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "macosx", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "manifests", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "motif", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "photon", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "qnx", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "solaris", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "true", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "unknown", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "win32", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "x86", "read" Primordial/boolean java.io.File.isFile( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/boolean java.io.File.isFile( )

CODE
/** * Loads the bundle manifest from the bundle. * @return the bundle manifest * @throws BundleException if an error occurs loading the bundle manifest */ public synchronized Dictionary loadManifest() throws BundleException { URL url = getEntry(Constants.OSGI_BUNDLE_MANIFEST); if (url != null) { // the bundle has a built-in manifest - we may not have to generate one Dictionary builtIn = loadManifestFrom(url); // if the manifest is not complete, add entries derived from plug-in/fragment manifest if (!isComplete(builtIn)) { Dictionary generatedManifest = generateManifest(builtIn); if (generatedManifest != null) return generatedManifest; } // the manifest is complete or we could not complete it - take it as it is manifestType = MANIFEST_TYPE_BUNDLE; if (getBaseFile().isFile()) { manifestTimeStamp = getBaseFile().lastModified(); manifestType |= MANIFEST_TYPE_JAR; } else manifestTimeStamp = getBaseBundleFile().getEntry(Constants.OSGI_BUNDLE_MANIFEST).getTime(); return builtIn; } Dictionary result = generateManifest(null); if (result == null) throw new BundleException(NLS.bind(EclipseAdaptorMsg.ECLIPSE_DATA_MANIFEST_NOT_FOUND, getLocation())); return result; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 253 java.util.Dictionary loadManifest( ) Permission: java.io.FilePermission "", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "*", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "-1", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "-2", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "-3", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission ".", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "0", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "1", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "1.3", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "10", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "13", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "2", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "23", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "3", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "4", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "5", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "6", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "7", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "8", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "9", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "???file???", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "aix", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "bin", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "bundles", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "carbon", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "false", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "hpux", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "linux", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "macosx", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "manifests", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "motif", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "photon", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "qnx", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "solaris", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "true", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "unknown", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "win32", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "x86", "read" Primordial/long java.io.File.lastModified( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/long java.io.File.lastModified( )

CODE
/** * Loads the bundle manifest from the bundle. * @return the bundle manifest * @throws BundleException if an error occurs loading the bundle manifest */ public synchronized Dictionary loadManifest() throws BundleException { URL url = getEntry(Constants.OSGI_BUNDLE_MANIFEST); if (url != null) { // the bundle has a built-in manifest - we may not have to generate one Dictionary builtIn = loadManifestFrom(url); // if the manifest is not complete, add entries derived from plug-in/fragment manifest if (!isComplete(builtIn)) { Dictionary generatedManifest = generateManifest(builtIn); if (generatedManifest != null) return generatedManifest; } // the manifest is complete or we could not complete it - take it as it is manifestType = MANIFEST_TYPE_BUNDLE; if (getBaseFile().isFile()) { manifestTimeStamp = getBaseFile().lastModified(); manifestType |= MANIFEST_TYPE_JAR; } else manifestTimeStamp = getBaseBundleFile().getEntry(Constants.OSGI_BUNDLE_MANIFEST).getTime(); return builtIn; } Dictionary result = generateManifest(null); if (result == null) throw new BundleException(NLS.bind(EclipseAdaptorMsg.ECLIPSE_DATA_MANIFEST_NOT_FOUND, getLocation())); return result; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 349 java.util.Dictionary loadManifestFrom( java.net.URL ) Permission: java.io.FilePermission "", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "*", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "*", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-1", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission ".", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission ".", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "0", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "0", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "10", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "10", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "13", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "13", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "2", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "2", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "23", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "23", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "4", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "4", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "5", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "5", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "6", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "6", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "7", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "7", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "8", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "8", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "9", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "9", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "aix", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bin", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "false", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "false", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "linux", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "motif", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "photon", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "true", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "true", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "win32", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.io.InputStream java.net.URL.openStream( ) Permission: org.osgi.framework.AdminPermission "", "resource" Primordial/java.io.InputStream java.net.URL.openStream( )

CODE
private Dictionary loadManifestFrom(URL manifestURL) throws BundleException { try { return Headers.parseManifest(manifestURL.openStream()); } catch (IOException e) { throw new BundleException(NLS.bind(EclipseAdaptorMsg.ECLIPSE_DATA_ERROR_READING_MANIFEST, getLocation()), e); } }
Tainted variable reference trace:

Permission Requirements:

  • permission java.io.FilePermission "", "delete";
  • permission java.io.FilePermission "", "read";
  • permission java.io.FilePermission "*", "delete";
  • permission java.io.FilePermission "*", "read";
  • permission java.io.FilePermission "-1", "delete";
  • permission java.io.FilePermission "-1", "read";
  • permission java.io.FilePermission "-2", "delete";
  • permission java.io.FilePermission "-2", "read";
  • permission java.io.FilePermission "-2147483648", "delete";
  • permission java.io.FilePermission "-2147483648", "read";
  • permission java.io.FilePermission "-3", "delete";
  • permission java.io.FilePermission "-3", "read";
  • permission java.io.FilePermission "-9223372036854775808", "delete";
  • permission java.io.FilePermission "-9223372036854775808", "read";
  • permission java.io.FilePermission ".", "delete";
  • permission java.io.FilePermission ".", "read";
  • permission java.io.FilePermission "0", "delete";
  • permission java.io.FilePermission "0", "read";
  • permission java.io.FilePermission "1", "delete";
  • permission java.io.FilePermission "1", "read";
  • permission java.io.FilePermission "1.3", "delete";
  • permission java.io.FilePermission "1.3", "read";
  • permission java.io.FilePermission "10", "delete";
  • permission java.io.FilePermission "10", "read";
  • permission java.io.FilePermission "13", "delete";
  • permission java.io.FilePermission "13", "read";
  • permission java.io.FilePermission "2", "delete";
  • permission java.io.FilePermission "2", "read";
  • permission java.io.FilePermission "23", "delete";
  • permission java.io.FilePermission "23", "read";
  • permission java.io.FilePermission "3", "delete";
  • permission java.io.FilePermission "3", "read";
  • permission java.io.FilePermission "3.0.0", "delete";
  • permission java.io.FilePermission "3.0.0", "read";
  • permission java.io.FilePermission "4", "delete";
  • permission java.io.FilePermission "4", "read";
  • permission java.io.FilePermission "5", "delete";
  • permission java.io.FilePermission "5", "read";
  • permission java.io.FilePermission "6", "delete";
  • permission java.io.FilePermission "6", "read";
  • permission java.io.FilePermission "7", "delete";
  • permission java.io.FilePermission "7", "read";
  • permission java.io.FilePermission "8", "delete";
  • permission java.io.FilePermission "8", "read";
  • permission java.io.FilePermission "9", "delete";
  • permission java.io.FilePermission "9", "read";
  • permission java.io.FilePermission "???file???", "delete";
  • permission java.io.FilePermission "???file???", "read";
  • permission java.io.FilePermission "Eclipse", "delete";
  • permission java.io.FilePermission "Eclipse", "read";
  • permission java.io.FilePermission "META-INF/MANIFEST.MF", "delete";
  • permission java.io.FilePermission "META-INF/MANIFEST.MF", "read";
  • permission java.io.FilePermission "No message available.", "delete";
  • permission java.io.FilePermission "No message available.", "read";
  • permission java.io.FilePermission "aix", "delete";
  • permission java.io.FilePermission "aix", "read";
  • permission java.io.FilePermission "bin", "delete";
  • permission java.io.FilePermission "bin", "read";
  • permission java.io.FilePermission "bundles", "delete";
  • permission java.io.FilePermission "bundles", "read";
  • permission java.io.FilePermission "carbon", "delete";
  • permission java.io.FilePermission "carbon", "read";
  • permission java.io.FilePermission "false", "delete";
  • permission java.io.FilePermission "false", "read";
  • permission java.io.FilePermission "fragment.xml", "delete";
  • permission java.io.FilePermission "fragment.xml", "read";
  • permission java.io.FilePermission "hpux", "delete";
  • permission java.io.FilePermission "hpux", "read";
  • permission java.io.FilePermission "linux", "delete";
  • permission java.io.FilePermission "linux", "read";
  • permission java.io.FilePermission "macosx", "delete";
  • permission java.io.FilePermission "macosx", "read";
  • permission java.io.FilePermission "manifests", "delete";
  • permission java.io.FilePermission "manifests", "read";
  • permission java.io.FilePermission "motif", "delete";
  • permission java.io.FilePermission "motif", "read";
  • permission java.io.FilePermission "org.eclipse.osgi", "delete";
  • permission java.io.FilePermission "org.eclipse.osgi", "read";
  • permission java.io.FilePermission "photon", "delete";
  • permission java.io.FilePermission "photon", "read";
  • permission java.io.FilePermission "plugin.xml", "delete";
  • permission java.io.FilePermission "plugin.xml", "read";
  • permission java.io.FilePermission "qnx", "delete";
  • permission java.io.FilePermission "qnx", "read";
  • permission java.io.FilePermission "solaris", "delete";
  • permission java.io.FilePermission "solaris", "read";
  • permission java.io.FilePermission "true", "delete";
  • permission java.io.FilePermission "true", "read";
  • permission java.io.FilePermission "unknown", "delete";
  • permission java.io.FilePermission "unknown", "read";
  • permission java.io.FilePermission "win32", "delete";
  • permission java.io.FilePermission "win32", "read";
  • permission java.io.FilePermission "x86", "delete";
  • permission java.io.FilePermission "x86", "read";
  • permission java.io.FilePermission "x86_64", "delete";
  • permission java.io.FilePermission "x86_64", "read";
  • permission org.osgi.framework.AdminPermission "", "resource";


Conclusion:


DoPrivileged location: Line# 191 java.lang.String searchVariants( java.lang.String[], java.lang.String ) Permission: java.io.FilePermission "<>", "execute" Primordial/java.lang.Process java.lang.Runtime.exec( java.lang.String[] ) Permission: java.io.FilePermission "???file???", "execute" Primordial/java.lang.Process java.lang.Runtime.exec( java.lang.String[] )

CODE
private String searchVariants(String[] variants, String path) { for (int i = 0; i < variants.length; i++) { BundleEntry libEntry = baseBundleFile.getEntry(variants[i] + path); if (libEntry == null) { // if (DEBUG && DEBUG_SHOW_FAILURE) // debug("not found " + variants[i] + path); // //$NON-NLS-1$ } else { // if (DEBUG && DEBUG_SHOW_SUCCESS) // debug("found " + path + " as " + // variants[i] + path); //$NON-NLS-1$ //$NON-NLS-2$ File libFile = baseBundleFile.getFile(variants[i] + path); if (libFile == null) return null; // see bug 88697 - HP requires libraries to have executable permissions if (org.eclipse.osgi.service.environment.Constants.OS_HPUX.equals(EclipseEnvironmentInfo.getDefault().getOS())) { try { // use the string array method in case there is a space in the path Runtime.getRuntime().exec(new String[] {"chmod", "755", libFile.getAbsolutePath()}).waitFor(); //$NON-NLS-1$ //$NON-NLS-2$ } catch (Exception e) { e.printStackTrace(); } } return libFile.getAbsolutePath(); } } return null; }
Tainted variable reference trace:

Permission Requirements:

  • permission java.io.FilePermission "<>", "execute";
  • permission java.io.FilePermission "???file???", "execute";


Conclusion: