安全研究

安全漏洞
FreeType 2.4.11之前版本_bdf_parse_glyphs()越界写入漏洞

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

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

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

FreeType 2.4.11之前版本字体呈现引擎处理Glyph信息和相关BDF位图时存在堆缓冲区外写入漏洞,通过提供特制的BDF字体文件,使用了FreeType库的应用程序处理这些特制字体时,将导致应用崩溃或执行任意代码。

漏洞相关信息可参见官方代码修补变化:

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

2 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 2cf618d..0887754 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,17 +1,24 @@
2012-12-15  Werner Lemberg  <wl@gnu.org>

+    [bdf] Fix Savannah bug #37907.
+
+    * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
+    negative second parameter of `ENCODING' field also.
+
+2012-12-15  Werner Lemberg  <wl@gnu.org>
+

diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index f9c06ca..365e671 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1624,6 +1624,9 @@
       if ( p->glyph_enc == -1 && p->list.used > 2 )
         p->glyph_enc = _bdf_atol( p->list.field[2], 0, 10 );

+      if ( p->glyph_enc < -1 )
+        p->glyph_enc = -1;
+
       FT_TRACE4(( DBGMSG2, p->glyph_enc ));

       /* Check that the encoding is in the Unicode range because  */

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


<*来源:Mateusz Jurczyk
  
  链接:http://seclists.org/oss-sec/2012/q4/511
        https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2012-5670
*>

建议:
厂商补丁:

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

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=7f2e4f4f553f6836be7683f66226afac3fa979b8

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