关键漏洞信息 概述 问题标题: Security: Incorrect convexity assumptions in Skia leading to buffer overflows 状态: Fixed 优先级: P1 漏洞详情 CVE编号: 2019-5755 类型: Vulnerability 严重性: S1 描述 该漏洞源于Skia在处理RRect对象时的错误假设,导致缓冲区溢出。具体描述如下: 1. 错误假设: 在另一个相关问题中(https://bugs.chromium.org/p/chromium/issues/detail?id=850350),由于精度错误,Skia生成了一个凹RRect但错误地声明为凸。在经过仿射变换后作为剪辑区域使用时,凹路径中的问题导致了堆溢出。 2. 修复方法: 通过对RRect生成的精度错误进行修正解决了此问题。 3. 遗留问题: 如果Skia声称一个路径为凸的,该属性会抗仿射变换。但由于精度问题,这种假设在某些情况下是错误的,可能导致后续处理中出现小的凹陷,进而导致其他问题。 4. 示例代码及影响: 提供了涉及错误路径排序和属性错误的代码示例,以及这如何导致渲染问题。 建议 建议在路径转换时始终清除凸性属性,并在适当的地方添加检查,以防错误的凸性假设导致内存损坏。 报告者及时间 报告者: if...@google.com 创建日期: 2018年10月29日 其他参与者 分配者: re...@google.com 关注者: 包括多人,如aw...@google.com等,涉及Skia相关开发和维护人员。