Marc Schoenefeld wrote:
:
Even if there is a security manager, you need still to make sure that no
privileged code (having access rights to sun.*)  forwards tainted data
to the
vulnerable sun.* functions.
Until 2007 you could use the sun.misc.MessageUtils.toStderr bug to
reliably crash OpenOffice in the OObase startup database/script
by calling sun.* via HSQLDB (CVE-2007-4575) .

SET DATABASE COLLATION "Latin1_General"
[...]
SELECT * FROM "FirstTable"
   WHERE ID="sun.misc.MessageUtils.toStderr"(NULL);

To my knowledge Java in Openoffice still does not use a security manager
in all places yet, so this problem was fixed by blocking arbitrary
class access in HSQLDB.

So the intention is to finally fix the root cause, instead of
furthermore allowing this to cause trouble in unexpected places :)
If there isn't a security manager then there aren't any checks and so code can do any manner of nasty thing. We can fix sun.misc.MessageUtils and that solves that specific issue but it doesn't stop code calling System.exit to terminate the VM or using public APIs to delete your files. I'm not familiar with how OO uses the runtime but preventing it from running arbitrary code sounds right.

Lillian - are you taking this one with a view to getting it into jdk7/tl/jdk? (I wasn't sure if you were looking for someone to take it).

-Alan.

Reply via email to