Georgi Guninski security advisory #24, 2000 IE 5.5/Outlook java security vulnerability - reading arbitrary local files and URLs Systems affected: IE 5.5/Outlook/Outlook Express - probably other versions, have not tested Risk: High Date: 18 October 2000 Legal Notice: This Advisory is Copyright (c) 2000 Georgi Guninski. You may distribute it unmodified. You may not modify it and distribute it or distribute parts of it without the author's written permission. Disclaimer: The opinions expressed in this advisory and program are my own and not of any company. The usual standard disclaimer applies, especially the fact that Georgi Guninski is not liable for any damages caused by direct or indirect use of the information or functionality provided by this advisory or program. Georgi Guninski, bears no responsibility for content or misuse of this advisory or program or any derivatives thereof. Description: There is a security vulnerability in IE 5.5/Outlook/Outlook Express which allows reading local files, arbitrary URLs and local directory structure after viewing a web page or reading HTML message. Details: The problem is the possibility for specifying arbitrary codebase for an applet loaded from tag and a jar file. Applets may read URLs from their codebase and communicate with hosts from the codebase. The following code: sets the applet's codebase to file:///c:/ This is not Java language problem and I suppose not a problem in Microsoft's VM but a problem in the way codebase is set by IE. If someone knows if this vulnerability allows writing to files or executing programs please let me know. The code is: ---------javacodebase1.html------------------------------------------ --------------------------------------------------------------------- --------gjavacodebase.java------------------------------------------- ...... try { u = new URL(getParameter("URL")); InputStream is=u.openStream(); byte ba[]=new byte[1000]; int l=is.read(ba); InputStream os=u.openConnection().getInputStream(); String s1=new String(ba,0,l); print(u.toString()); print(s1); } ....... --------------------------------------------------------------------- Workaround: Disable Java Demonstration is available at: http://www.guninski.com/javacodebase1.html Vendor status: Microsoft was contacted on morning of 14 October and is working on a fix for this vulnerability, I don't know when a patch shall be released. Regards, Georgi Guninski http://www.guninski.com