libicu库多个内存破坏漏洞
受影响系统:
ICU Project libicu 3.8.1
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 27455
CVE(CAN) ID: CVE-2007-4770,CVE-2007-4771
Unicode国际组件(ICU)是一个C/C++和Java函数库,可为软件应用提供Unicode和全球化支持。
ICU在处理畸形的正则表达式时存在堆溢出漏洞,本地攻击者可能利用此漏洞导致采用了ICU库的应用崩溃。
ICU库regexcmp.cpp文件976行的doInterval函数没有检查确保上层interval不是-1,如果用户提交了恶意的正则表达式的话就可能触发堆溢出;在正则表达式编译中,非法的反引用可能会引用不存在的捕获组0,导致在之后使用了被破坏的REStackFrames,在读写操作时会出现崩溃。
<*来源:Will Drewry (wad@google.com)
链接:http://secunia.com/advisories/28575/
http://sourceforge.net/mailarchi ... bd%40mail.gmail.com
https://bugzilla.redhat.com/long_list.cgi?buglist=429025
https://bugzilla.redhat.com/long_list.cgi?buglist=429023
https://www.redhat.com/support/errata/RHSA-2008-0090.html
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2008:0090-01)以及相应补丁:
RHSA-2008:0090-01:Important: icu security update
链接:https://www.redhat.com/support/errata/RHSA-2008-0090.html
ICU Project
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://source.icu-project.org/re ... hes/maint/maint-3-8