开源软件 libpng 多个 拒绝服务漏洞
Off-by-one错误
libpng是处理png格式文件的支持库。
Libpng(1.2.32beta01之前版本及1.4.0beta34之前的1.4版)存在多个拒绝服务漏洞。攻击者可通过一个包含特制zTXt chunks的PNG图片文件,导致拒绝服务(崩溃)或其他未知的影响。
该漏洞与pngread.c的png_push_read_zTXt函数有关,可能也与pngtest.c有关。
Libpng png_decompress_chunk()函数拒绝服务漏洞
拒绝服务
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng库的png_decompress_chunk()函数在处理包含有高压缩比的辅助数据块的PNG文件时可能会消耗大量的CPU时间和内存,这种资源耗尽可能导致使用libpng库的应用挂起。
PNG格式使用高效的压缩方式来存储图形数据和辅助数据库中的一些相关数据。PNG规范没有限制块的数量,将其大小限制于2.147G(2,147,483,647字节)。类似的,规范将图形的宽度和高度限制到21亿4700万行和21亿4700万列。
由于deflate压缩方式可以非常高效的压缩仅由多次重复的单字节组成的数据流,很小的PNG文件在解压时可能会占用很大的内存,形成耗尽所有可用内存的\"解压炸弹\"。例如,对于包含有50,000行且每行都包含有100个字母Z的zTXt块,压缩后大约为17k字节,但解压后为5M,压缩比约为300:1。
Libpng库在展开压缩的zTXt、iTXt和iCCP辅助数据块时使用了低效率的内存获取方式,图形文件中所包含的大约为50k畸形iCCP块可以解压到60M,这会将浏览器挂起约20分钟,精心创建的恶意块还可能将浏览器挂起更长时间,耗尽所有可用的内存。
libpng内存破坏和拒绝服务漏洞
经典缓冲区溢出
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng库在处理图形行数据时存在缓冲区溢出漏洞,如果图形文件中提供了比头中报告的高度多出一个额外的图形行的话,就可以触发这个溢出,导致执行任意代码;此外在处理某些sCAL块时可能出现内存泄露,特制的PNG图形可能导致拒绝服务。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
pngrutil.c在libpng 1.2.44之前的版本和1.4.3之前的1.4.x版本中存在内存泄漏。远程攻击者可以通过一个包含畸形物理缩比模块(亦称为专用公共数据块)的PNG图像来导致拒绝服务(内存消耗和应用程序崩溃)。
libpng PNG图像缓冲区溢出漏洞
缓冲区溢出
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.1之前的1.5.x版本中的pngrtran.c文件中存在漏洞。远程攻击者可以借助能够触发缓冲区溢出的基于调色板的特制PNG图像导致拒绝服务,或可能执行任何代码。该漏洞与png_do_expand_palette函数,png_do_rgb_to_gray函数和整数下溢有关。
libpng pngerror.c png_format_buffer函数设计错误漏洞
越界读取
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.0.55之前的1.0.x版本,1.2.45之前的1.2.x版本,1.4.8之前的1.4.x版本和1.5.4之前的1.5.x版本中的pngerror.c的png_format_buffer函数中存在设计错误漏洞。远程攻击者可借助在复制错误消息数据过程中能够触发越界读取的PNG图象导致拒绝服务(应用程序崩溃)。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
当应用程序调用png_rgb_to_gray函数而不是png_set_expand函数时,libpng 1.0.55之前的1.0.x版本,1.2.45之前的1.2.x版本,1.4.8之前的1.4.x版本和1.5.4之前的1.5.x版本中存在缓冲区溢出漏洞。远程攻击者可借助特制的PNG图像覆盖带有任意数量数据的内存,并可能引起其他未明影响。
libpng pngerror.c png_err函数拒绝服务漏洞
空指针取消引用
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.0.55之前的1.0.x版本,1.2.45之前的1.2.x版本,1.4.8之前的1.4.x版本和1.5.4之前的1.5.x版本中的pngerror.c的png_err函数使用NULL指针参数代替空字符串参数进行函数调用。远程攻击者可借助特制的PNG图像导致拒绝服务(应用程序崩溃)。
libpng pngrutil.c png_handle_sCAL函数缓冲区错误漏洞
缓冲区溢出
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.0.55之前的1.0.x版本,1.2.45之前的1.2.x版本,1.4.8之前的1.4.x版本和1.5.4之前的1.5.x版本中的pngrutil.c的png_handle_sCAL函数不能正确处理无效的sCAL块。远程攻击者可借助触发读取未初始化内存的特制PNG图像导致拒绝服务(内存破坏和应用程序崩溃)。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.4版本中存在安全漏洞。该漏洞源于处理某些cHRM数据块时在png_handle_cHRM()函数(libpng/pngrutil.c)中被零除并借助特制的PNG文件导致崩溃。
libpng ‘png_inflate()’ 缓冲区错误漏洞
整数溢出或环绕
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng中存在基于堆的缓冲区溢出漏洞。攻击者可利用该漏洞导致使用受影响库的应用程序崩溃,还可能在受影响应用程序上下文中运行任意代码。
libpng png_set_text_2() 内存破坏漏洞
缓冲区溢出
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
Libpng中存在漏洞,此漏洞源于在解析某些文本块时\"png_set_text_2()\"函数中的错误。攻击者可利用该漏洞借助特制PNG文件损坏栈内存,成功利用该漏洞可能导致执行任意代码。libpng 1.5.10之前版本、1.4.11版本、1.2.49版本和1.0.59版本中存在该漏洞。
libpng png_do_expand_palette 函数空指针逆向引用拒绝服务漏洞
拒绝服务
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.6.8 beta及之前的版本中的 png_do_expand_palette 函数中存在安全漏洞。远程攻击者可借助零字节的PLTE数据块或空调色板,利用该漏洞造成拒绝服务(空指针逆向引用和应用程序崩溃)。
libpng png_push_read_chunk 函数安全漏洞
数字错误
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.6.x至1.6.9版本的progressive decoder中的pngpread.c文件中的 png_push_read_chunk 函数存在安全漏洞。远程攻击者可借助零长度的IDAT数据块利用该漏洞造成拒绝服务(无限循环和CPU资源消耗)。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.13及之前版本的libpng/pngset.c文件中的 png_set_unknown_chunks 函数存在整数溢出漏洞。攻击者可借助特制的图像利用该漏洞造成拒绝服务(段错误和程序崩溃)。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.13及之前版本中的 png_set_sPLT 和 png_set_text_2 函数存在整数溢出漏洞。远程攻击者可借助特制的图像利用该漏洞造成拒绝服务(崩溃)。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.21之前版本和1.6.16之前1.6.x版本的 png_combine_row 函数中存在基于堆的缓冲区溢出漏洞。攻击者可借助 very wide interlaced PNG图像利用该漏洞执行任意代码。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng 1.5.21之前版本和1.6.16之前1.6.x版本的pngrutil.c文件中的 png_read_IDAT_data 函数存在缓冲区溢出漏洞。攻击者可借助带有超长宽度的IDAT数据利用该漏洞执行任意代码。
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng的 png_set_PLTE 和 png_get_PLTE 函数中存在缓冲区溢出漏洞。远程攻击者可借助PNG图像中的IHDR数据块中较小的 bit-depth 值利用该漏洞造成拒绝服务(应用程序崩溃)。
libpng png_convert_to_rfc1123() 函数内存损坏漏洞
未授权敏感信息泄露
libpng是一个可对PNG图形文件实现创建、读写等操作的PNG参考库。
libpng的png.c文件中的 png_convert_to_rfc1123 函数存在安全漏洞。远程攻击者可借助图像数据中特制的tIME数据块利用该漏洞获取敏感的进程内存信息。以下版本受到影响:libpng 1.0.64之前1.0.x版本,1.2.54之前1.2.x版本,1.4.17之前1.4.x版本。
评论