Mandriva Linux 安全公告:freetype2 (MDVSA-2015:089)

high Nessus 插件 ID 82342

简介

远程 Mandriva Linux 主机缺少一个或多个安全更新。

描述

更新后的 freetype2 程序包修复了安全漏洞:

据报告,低于 2.5.3 的 Freetype 受到 CFF 栅格化代码中的 cf2_hintmap_build() 中基于堆栈的越界读取/写入缺陷的影响,可导致缓冲区溢出 (CVE-2014-2240)。

另据报告,低于 2.5.3 的 Freetype 在 CFF 栅格化代码中有一个因可访问的断言造成的拒绝服务漏洞 (CVE-2014-2241)。

据报告,低于 2.5.4 的 Freetype 受到 CFF 栅格化代码中的 cf2_hintmap_build() 中基于堆栈的越界读取/写入缺陷的影响,可导致缓冲区溢出。原因是对 CVE-2014-2240 的修复不完整。

低于 2.5.4 的 FreeType 中的 sfnt/ttsbit.c 内的 tt_sbit_decoder_load_image 函数未正确检查整数溢出,从而允许远程攻击者通过构建的 OpenType 字体造成拒绝服务(越界读取),或造成其他不明影响 (CVE-2014-9656)。

低于 2.5.4 的 FreeType 中的 truetype/ttpload.c 内的 tt_face_load_hdmx 函数未确立最小记录大小,从而允许远程攻击者通过构建的 TrueType 字体造成拒绝服务(越界读取),或造成其他不明影响 (CVE-2014-9657)。

低于 2.5.4 的 FreeType 的 sfnt/ttkern.c 中的 tt_face_load_kern 函数强制实施错误的最小表长度,从而允许远程攻击者通过构建的 TrueType 字体造成拒绝服务(越界读取)或者可能造成其他不明影响 (CVE-2014-9658)。

低于 2.5.4 的 FreeType 中的 bdf/bdflib.c 内的 _bdf_parse_glyphs 函数未正确处理缺少的 ENDCHAR 记录,从而允许远程攻击者通过构建的 BDF 字体造成拒绝服务(空指针取消引用),或造成其他不明影响 (CVE-2014-9660)。

低于 2.5.4 的 FreeType 中的 type42/t42parse.c 未考虑到若未触发错误则可能存在扫描不完整的情况,从而允许远程攻击者通过构建的 Type42 字体造成拒绝服务(释放后使用),或造成其他不明影响 (CVE-2014-9661)。

低于 2.5.4 的 FreeType 中的 cff/cf2ft.c 不验证点分配函数的返回值,从而允许远程攻击者通过构建的 OTF 字体造成拒绝服务(基于堆的缓冲区溢出),或者可能造成其他不明影响 (CVE-2014-9662)。

低于 2.5.4 的 FreeType 中的 sfnt/ttcmap.c 内的 tt_cmap4_validate 函数在计算完成某字段的值之前就对该字段的特定长度进行了验证,从而允许远程攻击者通过构建的 cmap SFNT 表造成拒绝服务(越界读取),或造成其他不明影响 (CVE-2014-9663)。

低于 2.5.4 的 FreeType 在进行某些解析操作期间未检查数据末尾,从而允许远程攻击者通过构建的 Type42 字体(与 type42/t42parse.c 和 type1/t1load.c 相关)造成拒绝服务(越界读取),或造成其他不明影响 (CVE-2014-9664)。

低于 2.5.4 的 FreeType 中的 sfnt/ttsbit.c 内的 tt_sbit_decoder_init 函数在处理计数与大小的关联时未限制计数值,从而允许远程攻击者通过构建的嵌入式位图造成拒绝服务(整数溢出和越界读取),或造成其他不明影响 (CVE-2014-9666)。

低于 2.5.4 的 FreeType 中的 sfnt/ttload.c 在处理偏移+长度计算时未限制值,从而允许远程攻击者通过构建的 SFNT 表造成拒绝服务(整数溢出和越界读取),或造成其他不明影响 (CVE-2014-9667)。

低于 2.5.4 的 FreeType 的 sfnt/ttcmap.c 中存在多个整数溢出,允许远程攻击者通过构建的 cmap SFNT 表造成拒绝服务(越界读取或内存损坏),或造成其他不明影响 (CVE-2014-9669)。

低于 2.5.4 的 FreeType 中的 pcf/pcfread.c 内的 pcf_get_encodings 函数中存在多个整数符号错误,允许远程攻击者通过为第一列和第一行指定负值所构建的 PCF 文件造成拒绝服务(整数溢出、空指针取消引用和应用程序崩溃)(CVE-2014-9670)。

低于 2.5.4 的 FreeType 中的 pcf/pcfread.c 内的 pcf_get_properties 函数中存在差一错误,允许远程攻击者通过使其 0xffffffff 大小值错误递增所构建的 PCF 文件造成拒绝服务(空指针取消引用和应用程序崩溃)(CVE-2014-9671)。

低于 2.5.4 的 FreeType 中的 base/ftmac.c 内的 parse_fond 函数中存在数组索引错误,允许远程攻击者通过在 Mac 字体文件中构建的 FOND 资源造成拒绝服务(越界读取),或从进程内存中获取敏感信息 (CVE-2014-9672)。

低于 2.5.4 的 FreeType 中的 base/ftobjs.c 内的 Mac_Read_POST_Resource 函数中存在整数符号错误,允许远程攻击者通过构建的 Mac 字体造成拒绝服务(基于堆的缓冲区溢出),或造成其他不明影响 (CVE-2014-9673)。

低于 2.5.4 的 FreeType 中的 base/ftobjs.c 内的 Mac_Read_POST_Resource 函数在处理添加长度值时未验证原始值,从而允许远程攻击者通过构建的 Mac 字体造成拒绝服务(整数溢出和基于堆的缓冲区溢出),或造成其他不明影响 (CVE-2014-9674)。

低于 2.5.4 的 FreeType 中的 bdf/bdflib.c 通过仅验证初始子字符串是否存在来标识属性名称,从而允许远程攻击者通过构建的 BDF 字体发现堆指针值并绕过 ASLR 保护机制 (CVE-2014-9675)。

解决方案

更新受影响的数据包。

另见

http://advisories.mageia.org/MGASA-2014-0130.html

http://advisories.mageia.org/MGASA-2014-0526.html

http://advisories.mageia.org/MGASA-2015-0083.html

插件详情

严重性: High

ID: 82342

文件名: mandriva_MDVSA-2015-089.nasl

版本: 1.4

类型: local

发布时间: 2015/3/30

最近更新时间: 2021/1/14

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

漏洞信息

CPE: p-cpe:/a:mandriva:linux:freetype2-demos, p-cpe:/a:mandriva:linux:lib64freetype6, p-cpe:/a:mandriva:linux:lib64freetype6-devel, p-cpe:/a:mandriva:linux:lib64freetype6-static-devel, cpe:/o:mandriva:business_server:2

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/Mandrake/release, Host/Mandrake/rpm-list

补丁发布日期: 2015/3/28

参考资料信息

CVE: CVE-2014-2240, CVE-2014-2241, CVE-2014-9656, CVE-2014-9657, CVE-2014-9658, CVE-2014-9660, CVE-2014-9661, CVE-2014-9662, CVE-2014-9663, CVE-2014-9664, CVE-2014-9666, CVE-2014-9667, CVE-2014-9669, CVE-2014-9670, CVE-2014-9671, CVE-2014-9672, CVE-2014-9673, CVE-2014-9674, CVE-2014-9675

MDVSA: 2015:089