用户名: 密码: @ HACKER.CN
站内搜索:
卡巴专区 | 卖咖啡专区 | 诺顿专区 | 江民专区 | 瑞星专区 | 金山专区 | 熊猫专区 | 趋势专区 | 安博士专区 | 补丁专区
您现在的位置:首页>>中国安全信息网>>技术文摘>>安全专题>>漏洞分析>>正文

PHP 内存管理器符号比较多个溢出漏洞

www.hacker.cn 发布时间:2007-4-5 10:05:07 作者:佚名 来源:赛迪网技术社区

受影响系统:PHP PHP 5.2.0

不受影响系统:PHP PHP 5.2.1

描述:BUGTRAQ ID: 23238

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。PHP的内存管理器实现上存在漏洞,本地攻击者可能利用此漏洞提升权限。如果通过emalloc()函数分配内存的话,PHP中新的Zend内存管理器会在内部的_zend_mm_alloc_int()函数中处理这个请求,首先使用ZEND_MM_TRUE_SIZE宏判断所请求内存块的真实大小,如下所示:

static void *_zend_mm_alloc_int(zend_mm_heap *heap, size_t size ZEND_FILE_LINE_DC ...)
{
    size_t true_size, best_size = 0x7fffffff;
    zend_mm_free_block *p, *end, *best_fit = NULL;

    true_size = ZEND_MM_TRUE_SIZE(size);

    The macro expands to

    (((long)size<(long)ZEND_MM_MIN_SIZE)?(ZEND_MM_ALIGNED_MIN_HEADER_SIZE):
    (ZEND_MM_ALIGNED_SIZE(size+ZEND_MM_ALIGNED_HEADER_SIZE+END_MAGIC_SIZE)))

但在进行比较之前这段代码将大小设置为有符长型,因此如果请求了正常情况下会导致内存破坏或越界的很大的内存块,就可能将其处理为负数,仅分配很小的内存块,导致多个可利用的缓冲区溢出。
【编辑:歐冶子】
收藏此页关闭】【问题交流
相关文章:

会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
推荐文章
·惊闻 旧版卡巴斯基能杀最
·Windows Server 2003 SP2简
·中国安全信息网恭祝大家新
·“熊猫烧香”隐患未消“小
·手把手教你预防熊猫烧香病
·2006年网络文化的是是非非
·中国安全信息网线路更换完
·高危级漏洞靠近Yahoo Mess
·微软竟免费提供WinXP系统!
·“2006年互联网发展应用技
最新文章
·FTTP/FTTH理想解决方案 
·Cisco 的解决方案中 PIX V
·基于路由器的运政网VPN解决
·IT经理世界:垃圾邮件产业
·用ASP生成静态Html文件
·详细分析css定位与定位应用
·Excel单元格 快速查找
·使用VB将ASP代码封装生成D
·22个应用技巧帮你用好Vist
·面对差点击毁大厦的漏洞Vi
·数据安全
·设备安全
·WEB安全
免费专区
病毒升级包下载
系统补丁下载
免费在线服务
精品超全软件库
安全产品
设为首页 | 加入收藏 | 关于我们 | 网站留言 | 友情链接 | 广告服务 | 版权申明 | 网站纠错
CopyRight 2003-2006 www.hacker.cn All Right Reserved.
中国安全信息网 版权所有 普及网络安全-振兴中华 冀ICP备05001826号
tel:0311-85880333       webmaster@hacker.cn