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(网友投票)