Security Problem in Web Start?

My reading of the Java Web Start documentation says that only system properties that are set in the JNLP are passed into the application, EXCEPT for those properties that start with the prefix "javaws". This makes sense because it should prevent a user from starting a web start app from the command-line and passing any old argument to the VM. The JNLP, hence application author, therefore defines the non-secure properties that are passed.

However, it is trivial for a user to download the JNLP file from the server and edit it at will. The user can then launch the web start application by running the newly edited JNLP file. This is the part I don't understand. If the user can edit the JNLP and add/remove/change system properties then why does Sun even define the 'secure' "javaws." property prefix in the first place? Am I missing something? Is there a flag I can set on the server application to prevent a client from running with a modified JNLP file?

Thank You,

Eric

[1004 byte] By [oppositereactiona] at [2007-10-3 6:21:55]
# 1

the user on the client machine can add any java properties and vm args he wants when launching a java web start program (use -J arg in 6.0 or env variable JAVAWS_VM_ARGS in previous versions.)

The security restrictions are in place to protect the user from the web content.

A jnlp file can list properties it wants set, but for examples should the jnlp file say

<property name ="java.security.policy" value="http:hacker.com/AllPerms.policy"/>

Java Web Start cannot just set -Djava.security.policy=http:hacker.com/AllPerms.policy when it invokes java, or the application could just wipe the users hard drive.

The list of secure vm args and secure properties are those known to offer the web content no oppertunity to attack the users system. any property starting with "jnlp." or "javaws." is included because there are no such properties recognized by the VM, so the app can recognize any such properties and do whatever it wants with them.

/Andy

dietz333a at 2007-7-15 1:07:18 > top of Java-index,Desktop,Deploying...
# 2
Thank you for that explanation.- Eric
oppositereactiona at 2007-7-15 1:07:18 > top of Java-index,Desktop,Deploying...