关键漏洞信息 漏洞概述 漏洞类型: 模糊测试(Fuzzing)发现的远程拒绝服务(DoS)漏洞。 影响范围: WebKitGTK 2.23.90 到 WebKitGTK+ 2.22.6 及其他相关产品。 漏洞描述: 在使用 WebKit 的 UIProcess 子系统时, 和 文件中未防止脚本对话框大小超出网页视图大小,导致远程攻击者可能通过缓冲区溢出(Buffer Overflow)造成服务拒绝(DoS)或未指定的其他影响。 发现过程 测试环境: Ubuntu 16.04 LTS, 使用 WebKitGTK 和 Safari。 源代码: 从 WebKit GitHub 获取。 编译选项: 使用 ASAN 或 MSAN 标记进行构建,以检测运行时错误。 模糊测试工具: 使用 libFuzzer 连续运行多日,但未观察到崩溃或挂起。 漏洞细节 测试用例生成: 使用google project zero的 生成测试用例,结合AFL进行测试。 测试结果: 4天内共发现16个崩溃实例,其中7个为独特崩溃,4个为挂起。 具体问题: - 原生UI窗口在WIDTH或长度超过32767像素时,无法打开对话框,导致挂起。 - 模拟输入大量字符的简单JS脚本也能够重现挂起问题。 漏洞修复 修复状态: 已经提交了漏洞并在 WebKit 中被修复,该问题分配了 CVE-2019-8375 标识。 开放性问题: 仍有7个独特崩溃和3个挂起未被分析。 利用方法 利用脚本: 可通过编写简单的 Metasploit 模块进行远程服务拒绝攻击。