安全研究

安全漏洞
FreeType 2.4.11之前版本bdf_free_font空指针解引用漏洞

发布日期:2012-12-25
更新日期:2012-12-26

受影响系统:
FreeType FreeType 2.4.11
描述:
BUGTRAQ  ID: 57041
CVE(CAN) ID: CVE-2012-5668

FreeType是一个流行的字体函数库。

FreeType 2.4.11之前版本字体呈现引擎处理Glyph BDF字体时存在空指针解引用漏洞,通过提供特制的BDF字体文件,使用了FreeType库的应用程序处理这些特制字体时将导致该应用程序崩溃。

漏洞信息可参看官方修补代码处:
---------------------------------------------------------------------------

2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f3d12c1..5c9e7eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-12-15  Werner Lemberg  <wl@gnu.org>
+
+    [bdf] Fix Savannah bug #37905.
+
+    * src/bdf/bdflib.c (_bdf_parse_start): Reset `props_size' to zero in
+    case of allocation error; this value gets used in a loop in
+    `bdf_free_font'.
+
2012-12-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

    [truetype] Scale F_dot_P down.
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index ed08a6e..8d7f9a0 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -2169,7 +2169,10 @@
       p->cnt = p->font->props_size = _bdf_atoul( p->list.field[1], 0, 10 );

       if ( FT_NEW_ARRAY( p->font->props, p->cnt ) )
+      {
+        p->font->props_size = 0;
         goto Exit;
+      }

       p->flags |= _BDF_PROPS;
       *next     = _bdf_parse_properties;

---------------------------------------------------------------------------

<*来源:Mateusz Jurczyk
  
  链接:https://bugzilla.redhat.com/show_bug.cgi?id=890087
        http://osdir.com/ml/general/2012-12/msg39573.html
*>

建议:
厂商补丁:

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

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=9b6b5754b57c12b820e01305eb69b8863a161e5a

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