Lucene search

K
seebugRootSSV:4913
HistoryMar 14, 2009 - 12:00 a.m.

GNOME glib Base64编码解码多个整数溢出漏洞

2009-03-1400:00:00
Root
www.seebug.org
22

0.02 Low

EPSS

Percentile

87.7%

BUGTRAQ ID: 34100
CVE(CAN) ID: CVE-2008-4316,CVE-2009-0586,CVE-2009-0587,CVE-2009-0585

GLib是GTK+和GNOME工程的基础底层核心程序库,是一个综合用途的轻量级的C程序库。

glib库的Base64编码解码函数在处理超长字符串时没有正确地分配内存,在所有情况下都会使用用户提供值所计算出的长度分配堆内存:

g_malloc(user_supplied_length * 3 / 4 + some_small_num)

由于算术运算的评估次序,长度在除以4之前首先乘以3,因此用于分配长度的计算参数可能溢出,导致分配不足的区域。

GNOME glib >= 2.12 stable
GNOME glib >= 2.11 unstable
厂商补丁:

GNOME

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

<a href=“http://ocert.org/patches/2008-015/glib-CVE-2008-4316.diff” target=“_blank”>http://ocert.org/patches/2008-015/glib-CVE-2008-4316.diff</a>
<a href=“http://ocert.org/patches/2008-015/gst-plugins-base-CVE-2009-0586.diff” target=“_blank”>http://ocert.org/patches/2008-015/gst-plugins-base-CVE-2009-0586.diff</a>
<a href=“http://ocert.org/patches/2008-015/camel-CVE-2009-0587.diff” target=“_blank”>http://ocert.org/patches/2008-015/camel-CVE-2009-0587.diff</a>
<a href=“http://ocert.org/patches/2008-015/evc-CVE-2009-0587.diff” target=“_blank”>http://ocert.org/patches/2008-015/evc-CVE-2009-0587.diff</a>
<a href=“http://ocert.org/patches/2008-015/libsoup-base64-CVE-2009-0585.diff” target=“_blank”>http://ocert.org/patches/2008-015/libsoup-base64-CVE-2009-0585.diff</a>