BUGTRAQ  ID: 32518
Common Unix Printing System(CUPS)是一款通用Unix打印系统,是Unix环境下的跨平台打印解决方案,基于Internet打印协议,提供大多数PostScript和raster打印机服务。
CUPS PNG过滤器的_cupsImageReadPNG()函数中执行了以下计算: 
      bufsize = img->xsize * img->ysize * 3;
      if ((bufsize / (img->ysize * 3)) != img->xsize)
      {
        fprintf(stderr, "DEBUG: PNG image dimensions (%ux%u) too large!\n",
                (unsigned)width, (unsigned)height);
        fclose(fp);
        return (1);
      }
验证代码的img->ysize * 3可能会出现整数溢出,导致执行任意代码。
Easy Software Products CUPS < 1.3.10
 Easy Software Products
----------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<a href=http://www.cups.org/strfiles/2974/str2974.patch target=_blank>http://www.cups.org/strfiles/2974/str2974.patch</a>
                      
                    
                  
                
              
             
        
          
暂无评论