• 公告ID (KylinSec-SA-2024-3858)

摘要:

syslinux security update

安全等级: Critical

公告ID: KylinSec-SA-2024-3858

发布日期: 2024年9月6日

关联CVE: CVE-2011-2501   CVE-2011-2690   CVE-2011-2691   CVE-2011-2692   CVE-2011-3045   CVE-2011-3048   CVE-2012-3425   CVE-2015-7981   CVE-2015-8126   CVE-2015-8472   CVE-2015-8540   CVE-2016-10087   CVE-2017-12652  

  • 详细介绍

1. 漏洞描述

   

安全修复项:

在 libpng 的 1.0.x 版本(1.0.55 之前)、1.2.x 版本(1.2.45 之前)、1.4.x 版本(1.4.8 之前)以及 1.5.x 版本(1.5.4 之前)中,pngerror.c 文件中的 png_format_buffer 函数允许远程攻击者通过精心制作的 PNG 图像触发错误消息数据复制过程中的越界读取,从而导致拒绝服务(应用程序崩溃)。注意:此漏洞是由于 CVE-2004-0421 的回归而存在的。另请注意:一些来源将此称为越界一错误。(CVE-2011-2501)

在 libpng 的 1.0.x 版本(1.0.55 之前)、1.2.x 版本(1.2.45 之前)、1.4.x 版本(1.4.8 之前)以及 1.5.x 版本(1.5.4 之前)中,当应用程序调用 png_rgb_to_gray 函数但未调用 png_set_expand 函数时,会发生缓冲区溢出,允许远程攻击者通过精心制作的 PNG 图像用任意数量的数据覆盖内存,并可能产生其他未指定的影响。(CVE-2011-2690)

在 libpng 的 1.0.x 版本(1.0.55 之前)、1.2.x 版本(1.2.45 之前)、1.4.x 版本(1.4.8 之前)以及 1.5.x 版本(1.5.4 之前)中,pngerror.c 文件中的 png_err 函数使用空指针参数而不是空字符串参数进行函数调用,允许远程攻击者通过精心制作的 PNG 图像导致拒绝服务(应用程序崩溃)。(CVE-2011-2691)

在 libpng 的 1.0.x 版本(1.0.55 之前)、1.2.x 版本(1.2.45 之前)、1.4.x 版本(1.4.8 之前)以及 1.5.x 版本(1.5.4 之前)中,pngrutil.c 文件中的 png_handle_sCAL 函数未正确处理无效的 sCAL 数据块,允许远程攻击者通过触发未初始化内存读取的精心制作的 PNG 图像导致拒绝服务(内存损坏和应用程序崩溃)或可能产生其他未指定的影响。(CVE-2011-2692)

在 libpng 的 1.4.10beta01 之前版本(在 Google Chrome 的 17.0.963.83 之前版本和其他产品中使用的)的 pngrutil.c 文件中的 png_inflate 函数中存在整数符号错误,允许远程攻击者通过精心制作的 PNG 文件导致拒绝服务(应用程序崩溃)或可能执行任意代码,这与 CVE-2011-3026 是不同的漏洞。(CVE-2011-3045)

在 libpng 的 1.0.x 版本(1.0.59 之前)、1.2.x 版本(1.2.49 之前)、1.4.x 版本(1.4.11 之前)以及 1.5.x 版本(1.5.10 之前)中,pngset.c 文件中的 png_set_text_2 函数允许远程攻击者通过 PNG 图像文件中的精心制作的文本数据块导致拒绝服务(崩溃)或执行任意代码,该数据块会触发未正确处理的内存分配失败,从而导致基于堆的缓冲区溢出。(CVE-2011-3048)

在 libpng 的 1.0.x 版本(1.0.58 之前)、1.2.x 版本(1.2.48 之前)、1.4.x 版本(1.4.10 之前)以及 1.5.x 版本(1.5.10 之前)中,pngpread.c 文件中的 png_push_read_zTXt 函数允许远程攻击者通过 PNG 图像中的大 avail_in 字段值导致拒绝服务(越界读取)。(CVE-2012-3425)

在 libpng 的 1.0.x 版本(1.0.64 之前)、1.2.x 版本(1.2.54 之前)以及 1.4.x 版本(1.4.17 之前)中,png.c 文件中的 png_convert_to_rfc1123 函数允许远程攻击者通过图像文件中的精心制作的 tIME 数据块数据获得敏感进程内存信息,该数据块会触发越界读取。(CVE-2015-7981)

在 libpng 的 1.0.x 版本(1.0.64 之前)、1.1.x 和 1.2.x 版本(1.2.54 之前)、1.3.x 和 1.4.x 版本(1.4.17 之前)、1.5.x 版本(1.5.24 之前)以及 1.6.x 版本(1.6.19 之前)中,png_set_PLTE 和 png_get_PLTE 函数存在多个缓冲区溢出漏洞,允许远程攻击者通过 PNG 图像中的 IHDR(即图像头部)数据块中的小位深度值导致拒绝服务(应用程序崩溃)或可能产生其他未指定的影响。(CVE-2015-8126)

在 libpng 的 1.0.x 版本(1.0.65 之前)、1.1.x 和 1.2.x 版本(1.2.55 之前)、1.3.x、1.4.x 版本(1.4.18 之前)、1.5.x 版本(1.5.25 之前)以及 1.6.x 版本(1.6.20 之前)中,png_set_PLTE 函数存在缓冲区溢出漏洞,允许远程攻击者通过 PNG 图像中的 IHDR(即图像头部)数据块中的小位深度值导致拒绝服务(应用程序崩溃)或可能产生其他未指定的影响。注意:此漏洞是由于对 CVE-2015-8126 的不完全修复而存在的。(CVE-2015-8472)

在 libpng 的 0.90 至 0.99 版本、1.0.x 版本(1.0.66 之前)、1.1.x 和 1.2.x 版本(1.2.56 之前)、1.3.x 和 1.4.x 版本(1.4.19 之前)以及 1.5.x 版本(1.5.26 之前)中,pngwutil.c 文件中的 png_check_keyword 函数存在整数下溢漏洞,允许远程攻击者通过 PNG 图像中的空格字符作为关键字触发越界读取,从而产生未指定的影响。(CVE-2015-8540)

在 libpng 的 0.71 版本至 1.0.67 之前版本、1.2.x 版本(1.2.57 之前)、1.4.x 版本(1.4.20 之前)、1.5.x 版本(1.5.28 之前)以及 1.6.x 版本(1.6.27 之前)中,png_set_text_2 函数允许依赖于上下文的攻击者通过向 png 结构加载文本数据块、移除文本然后向结构添加另一个文本数据块来导致空指针解引用向量。(CVE-2016-10087)

libpng 在 1.6.32 之前的版本中未正确检查数据块长度是否超过用户限制。(CVE-2017-12652)

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2011-2501 KY3.4-5A syslinux Fixed
CVE-2011-2501 KY3.5.2 syslinux Fixed
CVE-2011-2501 V6 syslinux Fixed
CVE-2011-2690 KY3.4-5A syslinux Fixed
CVE-2011-2690 KY3.5.2 syslinux Fixed
CVE-2011-2690 V6 syslinux Fixed
CVE-2011-2691 KY3.4-5A syslinux Fixed
CVE-2011-2691 KY3.5.2 syslinux Fixed
CVE-2011-2691 V6 syslinux Fixed
CVE-2011-2692 KY3.4-5A syslinux Fixed
CVE-2011-2692 KY3.5.2 syslinux Fixed
CVE-2011-2692 V6 syslinux Fixed
CVE-2011-3045 KY3.4-5A syslinux Fixed
CVE-2011-3045 KY3.5.2 syslinux Fixed
CVE-2011-3045 V6 syslinux Fixed
CVE-2011-3048 KY3.4-5A syslinux Fixed
CVE-2011-3048 KY3.5.2 syslinux Fixed
CVE-2011-3048 V6 syslinux Fixed
CVE-2012-3425 KY3.4-5A syslinux Fixed
CVE-2012-3425 KY3.5.2 syslinux Fixed
CVE-2012-3425 V6 syslinux Fixed
CVE-2015-7981 KY3.4-5A syslinux Fixed
CVE-2015-7981 KY3.5.2 syslinux Fixed
CVE-2015-7981 V6 syslinux Fixed
CVE-2015-8126 KY3.4-5A syslinux Fixed
CVE-2015-8126 KY3.5.2 syslinux Fixed
CVE-2015-8126 V6 syslinux Fixed
CVE-2015-8472 KY3.4-5A syslinux Fixed
CVE-2015-8472 KY3.5.2 syslinux Fixed
CVE-2015-8472 V6 syslinux Fixed
CVE-2015-8540 KY3.4-5A syslinux Fixed
CVE-2015-8540 KY3.5.2 syslinux Fixed
CVE-2015-8540 V6 syslinux Fixed
CVE-2016-10087 KY3.4-5A syslinux Fixed
CVE-2016-10087 KY3.5.2 syslinux Fixed
CVE-2016-10087 V6 syslinux Fixed
CVE-2017-12652 KY3.4-5A syslinux Fixed
CVE-2017-12652 KY3.5.2 syslinux Fixed
CVE-2017-12652 V6 syslinux Fixed

3. 影响组件

    syslinux

4. 修复版本

   

KY3.4-5A

软件名称 架构 版本号
syslinux-extlinux-nonlinux noarch 6.04-14.kb1.ky3_4
syslinux-nonlinux noarch 6.04-14.kb1.ky3_4
syslinux-tftpboot noarch 6.04-14.kb1.ky3_4
syslinux x86_64 6.04-14.kb1.ky3_4
syslinux-devel x86_64 6.04-14.kb1.ky3_4
syslinux-efi64 x86_64 6.04-14.kb1.ky3_4
syslinux-extlinux x86_64 6.04-14.kb1.ky3_4
syslinux-perl x86_64 6.04-14.kb1.ky3_4

V6

软件名称 架构 版本号
syslinux-extlinux-nonlinux noarch 6.04-17.ks6
syslinux-nonlinux noarch 6.04-17.ks6
syslinux-tftpboot noarch 6.04-17.ks6
syslinux x86_64 6.04-17.ks6
syslinux-devel x86_64 6.04-17.ks6
syslinux-efi64 x86_64 6.04-17.ks6
syslinux-extlinux x86_64 6.04-17.ks6
syslinux-perl x86_64 6.04-17.ks6

KY3.5.2

软件名称 架构 版本号
syslinux-extlinux-nonlinux noarch 6.04-16.ky3_5
syslinux-nonlinux noarch 6.04-16.ky3_5
syslinux-tftpboot noarch 6.04-16.ky3_5
syslinux x86_64 6.04-16.ky3_5
syslinux-devel x86_64 6.04-16.ky3_5
syslinux-efi64 x86_64 6.04-16.ky3_5
syslinux-extlinux x86_64 6.04-16.ky3_5
syslinux-perl x86_64 6.04-16.ky3_5

5. 修复方法


方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm

方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名

6. 下载链接

   

KY3.4-5A:

x86_64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

     syslinux   

     syslinux-devel   

     syslinux-efi64   

     syslinux-extlinux   

     syslinux-perl   

aarch64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

V6:

x86_64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

     syslinux   

     syslinux-devel   

     syslinux-efi64   

     syslinux-extlinux   

     syslinux-perl   

aarch64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

KY3.5.2:

x86_64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

     syslinux   

     syslinux-devel   

     syslinux-efi64   

     syslinux-extlinux   

     syslinux-perl   

aarch64:

     syslinux-extlinux-nonlinux   

     syslinux-nonlinux   

     syslinux-tftpboot   

上一篇:KylinSec-SA-2024-3857 下一篇:KylinSec-SA-2024-3859