安全研究

安全漏洞
Boost库正则表达式远程拒绝服务漏洞

发布日期:2008-01-16
更新日期:2008-01-24

受影响系统:
Boost Boost 1.34.1
Boost Boost 1.33.1
描述:
BUGTRAQ  ID: 27325
CVE(CAN) ID: CVE-2008-0171,CVE-2008-0172

Boost库是一个可移植、提供源代码的C++库。

Boost库处理正则表达式时存在多个漏洞,远程攻击者可能利用此漏洞导致采用了Boost库的应用程序崩溃。

Boost的regex/v4/perl_matcher_non_recursive.hpp:376存在断言错误:
  Error: Assertion `pstate->type == syntax_element_startmark' failed

此外basic_regex_creator.hpp:1224的get_repeat_type()函数中存在空指针引用错误:
  if (state->next.p->next.p->next.p == static_cast<re_alt*>(state)->alt.p)

远程攻击者可以通过向Boost提交恶意的正则表达式请求触发这些漏洞,导致拒绝服务。

<*来源:Will Drewry (wad@google.com
        Tavis Ormandy (taviso@gentoo.org
  
  链接:http://bugs.gentoo.org/show_bug.cgi?format=multiple&id=205955
*>

建议:
厂商补丁:

Boost
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://svn.boost.org/trac/boost/changeset/42674
http://svn.boost.org/trac/boost/changeset/42745

浏览次数:2850
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障