近日,Google为libwebp安全漏洞分配了一个新的CVE ID(CVE-2023-5129),该漏洞获得了最高的10.0严重性评级,可能造成严重后果,如崩溃、任意代码执行以及未经授权访问敏感信息。
起初,谷歌将此漏洞披露为Chrome漏洞,编号为CVE-2023-4863,涉及WebP中的堆缓冲区溢出,影响的是116.0.5845.187之前的Google Chrome版本。
但Rezillion的一项分析显示,许多广泛使用的应用程序、代码库、框架和操作系统都存在CVE-2023-4863漏洞:“该软件包在尺寸和速度方面表现出色,优于JPEG和PNG。因此,大量软件、应用程序和包都采用了这个库,甚至采用了libwebp为其依赖项的包。libwebp的广泛使用显著扩大了攻击面,引起用户和组织的严重担忧。”
然而,谷歌将CVE-2023-4863错误地界定为仅影响Chrome的漏洞,这一决策掩盖了一个事实——它实际上影响所有依赖libwebp库处理WebP图像的应用程序,其影响范围比之前预想的要广泛。
据了解,这个漏洞存在于libwebp用于无损压缩的Huffman编码算法中,它使攻击者能够使用恶意构造的HTML页面执行越界内存写入:
使用特制的WebP无损文件,libwebp可能会将数据越界写入堆。ReadHuffmanCodes()函数通过预先计算的大小数组kTableSize来分配HuffmanCode缓冲区的大小。color_cache_bits值定义要使用的大小。kTableSize数组仅考虑8位一级表查找的大小,而不考虑二级表查找的大小。libwebp允许使用最多15位的代码(MAX_ALLOWED_CODE_LENGTH)。当BuildHuffmanTable()试图填充二级表时,可能会写入越界数据。对较小的数组进行的越界写入发生在ReplicateValue中。
现如今谷歌已正式将该漏洞认定为libwebp(用于编码和解码WebP格式图像的开源库)的一个漏洞。这一决定具有重要意义,因为业界最初未认识到其作为许多使用libwebp的项目的潜在安全威胁(如1Password、Signal、Safari、Mozilla Firefox、Microsoft Edge、Opera和原生Android网页浏览器)。
编辑:左右里
资讯来源:thehackernews
转载请注明出处和本文链接
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...